{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 基于ResNet的小样本分类学习\n",
    "## 数据准备\n",
    "### 导入包"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.optim as optim\n",
    "import torchvision\n",
    "from torchvision import models\n",
    "import torchvision.transforms as transforms\n",
    "from PIL import Image\n",
    "import random\n",
    "import shutil\n",
    "import cv2\n",
    "from torch.utils.data import DataLoader, Dataset\n",
    "import torch\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "# 如果GPU可用，使用GPU，否则使用CPU\n",
    "device = torch.device('cuda:1' if torch.cuda.is_available() else 'cpu')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据准备"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Files already downloaded and verified\n",
      "Files already downloaded and verified\n"
     ]
    }
   ],
   "source": [
    "# 导入Omniglot数据集\n",
    "from torchvision.datasets import Omniglot\n",
    "# 加载Omniglot数据集\n",
    "trainData = Omniglot('./data', download=True, background=True)\n",
    "# 加载MNIST测试数据集\n",
    "testData = Omniglot('./data', download=True, background=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 定义Omniglot数据集类"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "class OmniglotDataset(Dataset):\n",
    "    def __init__(self, data_dir, transform=None, is_train=True):\n",
    "        \"\"\"\n",
    "        Args:\n",
    "            data_dir: Omniglot数据集根目录\n",
    "            transform: 数据转换\n",
    "            is_train: 是否为训练集\n",
    "        \"\"\"\n",
    "        self.transform = transform\n",
    "        # 选择训练集或测试集目录\n",
    "        folder = 'images_background' if is_train else 'images_evaluation'\n",
    "        self.data_dir = os.path.join(data_dir, folder)\n",
    "        \n",
    "        # 获取所有类别\n",
    "        self.classes = []\n",
    "        for alphabet in os.listdir(self.data_dir):\n",
    "            alphabet_path = os.path.join(self.data_dir, alphabet)\n",
    "            if not os.path.isdir(alphabet_path):\n",
    "                continue\n",
    "            for char in os.listdir(alphabet_path):\n",
    "                char_path = os.path.join(alphabet_path, char)\n",
    "                if os.path.isdir(char_path):\n",
    "                    self.classes.append(os.path.join(alphabet, char))\n",
    "        \n",
    "        # 类别到索引的映射\n",
    "        self.class_to_idx = {cls: idx for idx, cls in enumerate(self.classes)}\n",
    "        \n",
    "    def __len__(self):\n",
    "        return len(self.classes)\n",
    "    \n",
    "    def __getitem__(self, idx):\n",
    "        \"\"\"返回指定类别的所有图像\"\"\"\n",
    "        class_name = self.classes[idx]\n",
    "        class_path = os.path.join(self.data_dir, class_name)\n",
    "        images = []\n",
    "        \n",
    "        for img_name in os.listdir(class_path):\n",
    "            img_path = os.path.join(class_path, img_name)\n",
    "            img = Image.open(img_path).convert('L')\n",
    "            if self.transform:\n",
    "                img = self.transform(img)\n",
    "            images.append(img)\n",
    "            \n",
    "        return torch.stack(images), idx\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 创建小样本采样器"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "class EpisodicBatchSampler(object):\n",
    "    def __init__(self, n_classes, n_way, n_episodes):\n",
    "        self.n_classes = n_classes\n",
    "        self.n_way = n_way\n",
    "        self.n_episodes = n_episodes\n",
    "    def __len__(self):\n",
    "        return self.n_episodes\n",
    "    def __iter__(self):\n",
    "        for i in range(self.n_episodes):\n",
    "            yield torch.randperm(self.n_classes)[:self.n_way]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 定义数据加载器"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def load_dataloader(data_dir, n_way, n_support, n_query, n_episodes):\n",
    "    \"\"\"\n",
    "    创建数据加载器\n",
    "    Args:\n",
    "        data_dir: 数据集根目录\n",
    "        n_way: 每个任务的类别数\n",
    "        n_support: 支持集样本数\n",
    "        n_query: 查询集样本数\n",
    "        n_episodes: 任务数量\n",
    "    \"\"\"\n",
    "    transform = transforms.Compose([\n",
    "        transforms.Resize((28, 28)),\n",
    "        transforms.ToTensor(),\n",
    "        transforms.Normalize((0.5,), (0.5,))\n",
    "    ])\n",
    "    # 创建训练集和验证集\n",
    "    dataset = OmniglotDataset(data_dir, transform=transform, is_train=True)\n",
    "    # 创建采样器\n",
    "    sampler = EpisodicBatchSampler(len(dataset.classes), n_way, n_episodes)\n",
    "    # 创建数据加载器\n",
    "    loader = DataLoader(dataset, batch_sampler=sampler)\n",
    "    return loader"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "support_data_train.shape: torch.Size([60, 20, 1, 28, 28])\n",
      "support_label_train.shape: torch.Size([60])\n",
      "support_data_train.dtype: torch.float32\n",
      "support_label_train.dtype: torch.int64\n",
      "support_data_val.shape: torch.Size([5, 20, 1, 28, 28])\n",
      "support_label_val.shape: torch.Size([5])\n",
      "support_data_val.dtype: torch.float32\n",
      "support_label_val.dtype: torch.int64\n"
     ]
    }
   ],
   "source": [
    "# 创建数据加载器\n",
    "train_loader = load_dataloader('./data/omniglot-py', n_way=60, n_support=5, n_query=2, n_episodes=100)\n",
    "val_loader = load_dataloader('./data/omniglot-py', n_way=5, n_support=5, n_query=2, n_episodes=100)\n",
    "\n",
    "# 检查训练数据集一个episodes的数据维度\n",
    "support_train, labels_train = next(iter(train_loader))\n",
    "print(f\"support_data_train.shape: {support_train.shape}\")\n",
    "print(f\"support_label_train.shape: {labels_train.shape}\")\n",
    "print(f\"support_data_train.dtype: {support_train.dtype}\")\n",
    "print(f\"support_label_train.dtype: {labels_train.dtype}\")\n",
    "# 检查测试数据集一个episodes的数据维度\n",
    "support_val, labels_val = next(iter(val_loader))\n",
    "print(f\"support_data_val.shape: {support_val.shape}\")\n",
    "print(f\"support_label_val.shape: {labels_val.shape}\")\n",
    "print(f\"support_data_val.dtype: {support_val.dtype}\")\n",
    "print(f\"support_label_val.dtype: {labels_val.dtype}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 小样本学习模型"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 以ResNet18为主干的原型网络"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用 ResNet18 作为特征提取器的模型\n",
    "class ProtoNet(nn.Module):\n",
    "    def __init__(self):\n",
    "        super(ProtoNet, self).__init__()\n",
    "        self.feature_extractor = models.resnet18(pretrained=True)\n",
    "        self.feature_extractor.conv1 = nn.Conv2d(1, 64, kernel_size=7, stride=2, padding=3, bias=False)  # 修改输入通道数为1\n",
    "        self.feature_extractor = nn.Sequential(*list(self.feature_extractor.children())[:-1])\n",
    "    \n",
    "    def forward(self, x):\n",
    "        x = self.feature_extractor(x)\n",
    "        return x.view(x.size(0), -1)\n",
    "\n",
    "# 欧氏距离函数\n",
    "def euclidean_distance(x, y):\n",
    "    n = x.size(0)\n",
    "    m = y.size(0)\n",
    "    d = x.size(1)\n",
    "    \n",
    "    x = x.unsqueeze(1).expand(n, m, d)\n",
    "    y = y.unsqueeze(0).expand(n, m, d)\n",
    "    \n",
    "    return torch.pow(x - y, 2).sum(2)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 模型训练与验证函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def train_model(model, train_loader, criterion, optimizer, device):\n",
    "    model.train()\n",
    "    total_loss = 0\n",
    "    total_acc = 0\n",
    "    \n",
    "    for batch_idx, (data, labels) in enumerate(train_loader):\n",
    "        # 每个类别分成support和query\n",
    "        n_way = len(data)\n",
    "        n_support = 5  # 支持集样本数\n",
    "        n_query = 2    # 查询集样本数\n",
    "        \n",
    "        support_samples = []\n",
    "        support_labels = []\n",
    "        query_samples = []\n",
    "        query_labels = []\n",
    "        \n",
    "        # 处理每个类别的数据\n",
    "        for class_idx, (class_data, label) in enumerate(zip(data, labels)):\n",
    "            # 随机选择support和query样本\n",
    "            perm = torch.randperm(len(class_data))\n",
    "            support_idx = perm[:n_support]\n",
    "            query_idx = perm[n_support:n_support + n_query]\n",
    "            \n",
    "            support_samples.append(class_data[support_idx])\n",
    "            support_labels.extend([class_idx] * n_support)\n",
    "            query_samples.append(class_data[query_idx])\n",
    "            query_labels.extend([class_idx] * n_query)\n",
    "        \n",
    "        # 转换为张量\n",
    "        support_samples = torch.cat(support_samples).to(device)\n",
    "        support_labels = torch.tensor(support_labels).to(device)\n",
    "        query_samples = torch.cat(query_samples).to(device)\n",
    "        query_labels = torch.tensor(query_labels).to(device)\n",
    "        \n",
    "        # 计算特征\n",
    "        support_features = model(support_samples)\n",
    "        query_features = model(query_samples)\n",
    "        \n",
    "        # 计算原型\n",
    "        prototypes = torch.stack([\n",
    "            support_features[support_labels == label].mean(0)\n",
    "            for label in range(n_way)\n",
    "        ])\n",
    "        \n",
    "        # 计算距离和损失\n",
    "        dists = euclidean_distance(query_features, prototypes)\n",
    "        loss = criterion(-dists, query_labels)\n",
    "        \n",
    "        optimizer.zero_grad()\n",
    "        loss.backward()\n",
    "        optimizer.step()\n",
    "        \n",
    "        # 计算准确率\n",
    "        _, preds = torch.min(dists, 1)\n",
    "        acc = (preds == query_labels).float().mean()\n",
    "        \n",
    "        total_loss += loss.item()\n",
    "        total_acc += acc.item()\n",
    "    \n",
    "    return total_loss / len(train_loader), total_acc / len(train_loader)\n",
    "def val_model(model, val_loader, criterion, device):\n",
    "    \"\"\"\n",
    "    验证模型性能\n",
    "    Args:\n",
    "        model: 模型\n",
    "        val_loader: 验证集数据加载器\n",
    "        criterion: 损失函数\n",
    "        device: 设备\n",
    "    \"\"\"\n",
    "    model.eval()\n",
    "    total_loss = 0\n",
    "    total_acc = 0\n",
    "    \n",
    "    with torch.no_grad():\n",
    "        for batch_idx, (data, labels) in enumerate(val_loader):\n",
    "            # 每个类别分成support和query\n",
    "            n_way = len(data)\n",
    "            n_support = 5  # 支持集样本数\n",
    "            n_query = 2    # 查询集样本数\n",
    "            \n",
    "            support_samples = []\n",
    "            support_labels = []\n",
    "            query_samples = []\n",
    "            query_labels = []\n",
    "            \n",
    "            # 处理每个类别的数据\n",
    "            for class_idx, (class_data, label) in enumerate(zip(data, labels)):\n",
    "                # 随机选择support和query样本\n",
    "                perm = torch.randperm(len(class_data))\n",
    "                support_idx = perm[:n_support]\n",
    "                query_idx = perm[n_support:n_support + n_query]\n",
    "                \n",
    "                support_samples.append(class_data[support_idx])\n",
    "                support_labels.extend([class_idx] * n_support)\n",
    "                query_samples.append(class_data[query_idx])\n",
    "                query_labels.extend([class_idx] * n_query)\n",
    "            \n",
    "            # 转换为张量\n",
    "            support_samples = torch.cat(support_samples).to(device)\n",
    "            support_labels = torch.tensor(support_labels).to(device)\n",
    "            query_samples = torch.cat(query_samples).to(device)\n",
    "            query_labels = torch.tensor(query_labels).to(device)\n",
    "            \n",
    "            # 计算特征\n",
    "            support_features = model(support_samples)\n",
    "            query_features = model(query_samples)\n",
    "            \n",
    "            # 计算原型\n",
    "            prototypes = torch.stack([\n",
    "                support_features[support_labels == label].mean(0)\n",
    "                for label in range(n_way)\n",
    "            ])\n",
    "            \n",
    "            # 计算距离和损失\n",
    "            dists = euclidean_distance(query_features, prototypes)\n",
    "            loss = criterion(-dists, query_labels)\n",
    "            \n",
    "            # 计算准确率\n",
    "            _, preds = torch.min(dists, 1)\n",
    "            acc = (preds == query_labels).float().mean()\n",
    "            \n",
    "            total_loss += loss.item()\n",
    "            total_acc += acc.item()\n",
    "    \n",
    "    return total_loss / len(val_loader), total_acc / len(val_loader)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 模型训练与验证"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/users/zouhongyang/.conda/envs/zhycam/lib/python3.9/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.\n",
      "  warnings.warn(\n",
      "/home/users/zouhongyang/.conda/envs/zhycam/lib/python3.9/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=ResNet18_Weights.IMAGENET1K_V1`. You can also use `weights=ResNet18_Weights.DEFAULT` to get the most up-to-date weights.\n",
      "  warnings.warn(msg)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/100, Train Loss: 25.9613, Train Accuracy: 0.1692, Val Loss: 2.8505, Val Accuracy: 0.5070\n",
      "Epoch 2/100, Train Loss: 6.1524, Train Accuracy: 0.1924, Val Loss: 1.7188, Val Accuracy: 0.5770\n",
      "Epoch 3/100, Train Loss: 4.8720, Train Accuracy: 0.2461, Val Loss: 1.3136, Val Accuracy: 0.6690\n",
      "Epoch 4/100, Train Loss: 3.9309, Train Accuracy: 0.2864, Val Loss: 1.2592, Val Accuracy: 0.7250\n",
      "Epoch 5/100, Train Loss: 3.4772, Train Accuracy: 0.3288, Val Loss: 1.0375, Val Accuracy: 0.7850\n",
      "Epoch 6/100, Train Loss: 3.0584, Train Accuracy: 0.3697, Val Loss: 0.6783, Val Accuracy: 0.8030\n",
      "Epoch 7/100, Train Loss: 2.8588, Train Accuracy: 0.4125, Val Loss: 0.5888, Val Accuracy: 0.8160\n",
      "Epoch 8/100, Train Loss: 2.6509, Train Accuracy: 0.4504, Val Loss: 0.4659, Val Accuracy: 0.8370\n",
      "Epoch 9/100, Train Loss: 2.2094, Train Accuracy: 0.4952, Val Loss: 0.3471, Val Accuracy: 0.8790\n",
      "Epoch 10/100, Train Loss: 2.0555, Train Accuracy: 0.5296, Val Loss: 0.4070, Val Accuracy: 0.8990\n",
      "Epoch 11/100, Train Loss: 1.9168, Train Accuracy: 0.5668, Val Loss: 0.3871, Val Accuracy: 0.9000\n",
      "Epoch 12/100, Train Loss: 1.9286, Train Accuracy: 0.5832, Val Loss: 0.4134, Val Accuracy: 0.9200\n",
      "Epoch 13/100, Train Loss: 1.5749, Train Accuracy: 0.6218, Val Loss: 0.2442, Val Accuracy: 0.9240\n",
      "Epoch 14/100, Train Loss: 1.3954, Train Accuracy: 0.6528, Val Loss: 0.4836, Val Accuracy: 0.9440\n",
      "Epoch 15/100, Train Loss: 1.3310, Train Accuracy: 0.6753, Val Loss: 0.1650, Val Accuracy: 0.9490\n",
      "Epoch 16/100, Train Loss: 1.1484, Train Accuracy: 0.6967, Val Loss: 0.1278, Val Accuracy: 0.9580\n",
      "Epoch 17/100, Train Loss: 1.0811, Train Accuracy: 0.7188, Val Loss: 0.1080, Val Accuracy: 0.9630\n",
      "Epoch 18/100, Train Loss: 1.0227, Train Accuracy: 0.7402, Val Loss: 0.1947, Val Accuracy: 0.9500\n",
      "Epoch 19/100, Train Loss: 0.9830, Train Accuracy: 0.7508, Val Loss: 0.1035, Val Accuracy: 0.9690\n",
      "Epoch 20/100, Train Loss: 0.9861, Train Accuracy: 0.7673, Val Loss: 0.1208, Val Accuracy: 0.9600\n",
      "Epoch 21/100, Train Loss: 0.9567, Train Accuracy: 0.7758, Val Loss: 4.5082, Val Accuracy: 0.9650\n",
      "Epoch 22/100, Train Loss: 0.9279, Train Accuracy: 0.7835, Val Loss: 0.0773, Val Accuracy: 0.9720\n",
      "Epoch 23/100, Train Loss: 0.7992, Train Accuracy: 0.8000, Val Loss: 0.0734, Val Accuracy: 0.9740\n",
      "Epoch 24/100, Train Loss: 0.7225, Train Accuracy: 0.8182, Val Loss: 0.0650, Val Accuracy: 0.9800\n",
      "Epoch 25/100, Train Loss: 0.6094, Train Accuracy: 0.8316, Val Loss: 0.0473, Val Accuracy: 0.9790\n",
      "Epoch 26/100, Train Loss: 0.6481, Train Accuracy: 0.8388, Val Loss: 0.0503, Val Accuracy: 0.9820\n",
      "Epoch 27/100, Train Loss: 0.6759, Train Accuracy: 0.8333, Val Loss: 0.0714, Val Accuracy: 0.9690\n",
      "Epoch 28/100, Train Loss: 0.5643, Train Accuracy: 0.8512, Val Loss: 0.0448, Val Accuracy: 0.9810\n",
      "Epoch 29/100, Train Loss: 0.5201, Train Accuracy: 0.8583, Val Loss: 0.0279, Val Accuracy: 0.9920\n",
      "Epoch 30/100, Train Loss: 0.4579, Train Accuracy: 0.8691, Val Loss: 0.0447, Val Accuracy: 0.9820\n",
      "Epoch 31/100, Train Loss: 0.4842, Train Accuracy: 0.8746, Val Loss: 0.0319, Val Accuracy: 0.9920\n",
      "Epoch 32/100, Train Loss: 0.4889, Train Accuracy: 0.8735, Val Loss: 0.0325, Val Accuracy: 0.9870\n",
      "Epoch 33/100, Train Loss: 0.4376, Train Accuracy: 0.8778, Val Loss: 0.0349, Val Accuracy: 0.9870\n",
      "Epoch 34/100, Train Loss: 0.4229, Train Accuracy: 0.8788, Val Loss: 0.0451, Val Accuracy: 0.9850\n",
      "Epoch 35/100, Train Loss: 0.4329, Train Accuracy: 0.8797, Val Loss: 0.0406, Val Accuracy: 0.9900\n",
      "Epoch 36/100, Train Loss: 0.4012, Train Accuracy: 0.8872, Val Loss: 0.0257, Val Accuracy: 0.9920\n",
      "Epoch 37/100, Train Loss: 0.3854, Train Accuracy: 0.8796, Val Loss: 0.0249, Val Accuracy: 0.9890\n",
      "Epoch 38/100, Train Loss: 0.3959, Train Accuracy: 0.8860, Val Loss: 0.0550, Val Accuracy: 0.9860\n",
      "Epoch 39/100, Train Loss: 0.3747, Train Accuracy: 0.8898, Val Loss: 0.0297, Val Accuracy: 0.9920\n",
      "Epoch 40/100, Train Loss: 0.3704, Train Accuracy: 0.8883, Val Loss: 0.0281, Val Accuracy: 0.9870\n",
      "Epoch 41/100, Train Loss: 0.3775, Train Accuracy: 0.8948, Val Loss: 0.0166, Val Accuracy: 0.9920\n",
      "Epoch 42/100, Train Loss: 0.3892, Train Accuracy: 0.8857, Val Loss: 0.0285, Val Accuracy: 0.9910\n",
      "Epoch 43/100, Train Loss: 0.3749, Train Accuracy: 0.8906, Val Loss: 0.0282, Val Accuracy: 0.9900\n",
      "Epoch 44/100, Train Loss: 0.3246, Train Accuracy: 0.8993, Val Loss: 0.0281, Val Accuracy: 0.9900\n",
      "Epoch 45/100, Train Loss: 0.4082, Train Accuracy: 0.8885, Val Loss: 0.0182, Val Accuracy: 0.9920\n",
      "Epoch 46/100, Train Loss: 0.3663, Train Accuracy: 0.8913, Val Loss: 0.0441, Val Accuracy: 0.9910\n",
      "Epoch 47/100, Train Loss: 0.3598, Train Accuracy: 0.8951, Val Loss: 0.0354, Val Accuracy: 0.9870\n",
      "Epoch 48/100, Train Loss: 0.3236, Train Accuracy: 0.8958, Val Loss: 0.0096, Val Accuracy: 0.9980\n",
      "Epoch 49/100, Train Loss: 0.3425, Train Accuracy: 0.8972, Val Loss: 0.0148, Val Accuracy: 0.9950\n",
      "Epoch 50/100, Train Loss: 0.3203, Train Accuracy: 0.9030, Val Loss: 0.0208, Val Accuracy: 0.9950\n",
      "Epoch 51/100, Train Loss: 0.3273, Train Accuracy: 0.9002, Val Loss: 0.0322, Val Accuracy: 0.9890\n",
      "Epoch 52/100, Train Loss: 0.3118, Train Accuracy: 0.8989, Val Loss: 0.0344, Val Accuracy: 0.9880\n",
      "Epoch 53/100, Train Loss: 0.3131, Train Accuracy: 0.9062, Val Loss: 0.0239, Val Accuracy: 0.9910\n",
      "Epoch 54/100, Train Loss: 0.3517, Train Accuracy: 0.8980, Val Loss: 0.0192, Val Accuracy: 0.9940\n",
      "Epoch 55/100, Train Loss: 0.3045, Train Accuracy: 0.9080, Val Loss: 0.0237, Val Accuracy: 0.9910\n",
      "Epoch 56/100, Train Loss: 0.3324, Train Accuracy: 0.9055, Val Loss: 0.0333, Val Accuracy: 0.9910\n",
      "Epoch 57/100, Train Loss: 0.2915, Train Accuracy: 0.9085, Val Loss: 0.0072, Val Accuracy: 0.9970\n",
      "Epoch 58/100, Train Loss: 0.3063, Train Accuracy: 0.9080, Val Loss: 0.0349, Val Accuracy: 0.9900\n",
      "Epoch 59/100, Train Loss: 0.2779, Train Accuracy: 0.9077, Val Loss: 0.0252, Val Accuracy: 0.9930\n",
      "Epoch 60/100, Train Loss: 0.2723, Train Accuracy: 0.9145, Val Loss: 0.0167, Val Accuracy: 0.9940\n",
      "Epoch 61/100, Train Loss: 0.2906, Train Accuracy: 0.9112, Val Loss: 0.0246, Val Accuracy: 0.9910\n",
      "Epoch 62/100, Train Loss: 0.2849, Train Accuracy: 0.9161, Val Loss: 0.0323, Val Accuracy: 0.9910\n",
      "Epoch 63/100, Train Loss: 0.3157, Train Accuracy: 0.9071, Val Loss: 0.0232, Val Accuracy: 0.9910\n",
      "Epoch 64/100, Train Loss: 0.2792, Train Accuracy: 0.9126, Val Loss: 0.0065, Val Accuracy: 0.9970\n",
      "Epoch 65/100, Train Loss: 0.2634, Train Accuracy: 0.9166, Val Loss: 0.0223, Val Accuracy: 0.9900\n",
      "Epoch 66/100, Train Loss: 0.2678, Train Accuracy: 0.9140, Val Loss: 0.0226, Val Accuracy: 0.9900\n",
      "Epoch 67/100, Train Loss: 0.2910, Train Accuracy: 0.9121, Val Loss: 0.0333, Val Accuracy: 0.9840\n",
      "Epoch 68/100, Train Loss: 0.2663, Train Accuracy: 0.9163, Val Loss: 0.0176, Val Accuracy: 0.9950\n",
      "Epoch 69/100, Train Loss: 0.2871, Train Accuracy: 0.9157, Val Loss: 0.0261, Val Accuracy: 0.9910\n",
      "Epoch 70/100, Train Loss: 0.2719, Train Accuracy: 0.9179, Val Loss: 0.0216, Val Accuracy: 0.9930\n",
      "Epoch 71/100, Train Loss: 0.3072, Train Accuracy: 0.9134, Val Loss: 0.0284, Val Accuracy: 0.9910\n",
      "Epoch 72/100, Train Loss: 0.2793, Train Accuracy: 0.9182, Val Loss: 0.0281, Val Accuracy: 0.9900\n",
      "Epoch 73/100, Train Loss: 0.3102, Train Accuracy: 0.9157, Val Loss: 0.0331, Val Accuracy: 0.9950\n",
      "Epoch 74/100, Train Loss: 0.2516, Train Accuracy: 0.9186, Val Loss: 0.0202, Val Accuracy: 0.9940\n",
      "Epoch 75/100, Train Loss: 0.2952, Train Accuracy: 0.9125, Val Loss: 0.0135, Val Accuracy: 0.9960\n",
      "Epoch 76/100, Train Loss: 0.3040, Train Accuracy: 0.9178, Val Loss: 0.0147, Val Accuracy: 0.9940\n",
      "Epoch 77/100, Train Loss: 0.2643, Train Accuracy: 0.9166, Val Loss: 0.0161, Val Accuracy: 0.9920\n",
      "Epoch 78/100, Train Loss: 0.2630, Train Accuracy: 0.9158, Val Loss: 0.0266, Val Accuracy: 0.9950\n",
      "Epoch 79/100, Train Loss: 0.2916, Train Accuracy: 0.9108, Val Loss: 0.0170, Val Accuracy: 0.9950\n",
      "Epoch 80/100, Train Loss: 0.2600, Train Accuracy: 0.9194, Val Loss: 0.0133, Val Accuracy: 0.9950\n",
      "Epoch 81/100, Train Loss: 0.2736, Train Accuracy: 0.9138, Val Loss: 0.0200, Val Accuracy: 0.9910\n",
      "Epoch 82/100, Train Loss: 0.2615, Train Accuracy: 0.9163, Val Loss: 0.0187, Val Accuracy: 0.9940\n",
      "Epoch 83/100, Train Loss: 0.2763, Train Accuracy: 0.9174, Val Loss: 0.0168, Val Accuracy: 0.9940\n",
      "Epoch 84/100, Train Loss: 0.2527, Train Accuracy: 0.9168, Val Loss: 0.0256, Val Accuracy: 0.9880\n",
      "Epoch 85/100, Train Loss: 0.2898, Train Accuracy: 0.9177, Val Loss: 0.0123, Val Accuracy: 0.9950\n",
      "Epoch 86/100, Train Loss: 0.2781, Train Accuracy: 0.9152, Val Loss: 0.0199, Val Accuracy: 0.9930\n",
      "Epoch 87/100, Train Loss: 0.2650, Train Accuracy: 0.9188, Val Loss: 0.0114, Val Accuracy: 0.9960\n",
      "Epoch 88/100, Train Loss: 0.2646, Train Accuracy: 0.9185, Val Loss: 0.0222, Val Accuracy: 0.9920\n",
      "Epoch 89/100, Train Loss: 0.2480, Train Accuracy: 0.9184, Val Loss: 0.0197, Val Accuracy: 0.9930\n",
      "Epoch 90/100, Train Loss: 0.2935, Train Accuracy: 0.9169, Val Loss: 0.0160, Val Accuracy: 0.9930\n",
      "Epoch 91/100, Train Loss: 0.2588, Train Accuracy: 0.9206, Val Loss: 0.0145, Val Accuracy: 0.9960\n",
      "Epoch 92/100, Train Loss: 0.2736, Train Accuracy: 0.9140, Val Loss: 0.0081, Val Accuracy: 0.9980\n",
      "Epoch 93/100, Train Loss: 0.2459, Train Accuracy: 0.9203, Val Loss: 0.0053, Val Accuracy: 1.0000\n",
      "Epoch 94/100, Train Loss: 0.2381, Train Accuracy: 0.9227, Val Loss: 0.0135, Val Accuracy: 0.9960\n",
      "Epoch 95/100, Train Loss: 0.2645, Train Accuracy: 0.9166, Val Loss: 0.0123, Val Accuracy: 0.9940\n",
      "Epoch 96/100, Train Loss: 0.2391, Train Accuracy: 0.9210, Val Loss: 0.0153, Val Accuracy: 0.9940\n",
      "Epoch 97/100, Train Loss: 0.2718, Train Accuracy: 0.9195, Val Loss: 0.0143, Val Accuracy: 0.9920\n",
      "Epoch 98/100, Train Loss: 0.2782, Train Accuracy: 0.9206, Val Loss: 0.0139, Val Accuracy: 0.9930\n",
      "Epoch 99/100, Train Loss: 0.2653, Train Accuracy: 0.9208, Val Loss: 0.0224, Val Accuracy: 0.9940\n",
      "Epoch 100/100, Train Loss: 0.2766, Train Accuracy: 0.9192, Val Loss: 0.0251, Val Accuracy: 0.9920\n"
     ]
    }
   ],
   "source": [
    "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
    "model = ProtoNet().to(device)\n",
    "lr = 1e-4\n",
    "num_epochs = 100\n",
    "optimizer = optim.Adam(model.parameters(), lr=lr)\n",
    "scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=30, gamma=0.1)\n",
    "criterion = nn.CrossEntropyLoss()\n",
    "\n",
    "transform = transforms.Compose([\n",
    "    transforms.Resize((28, 28)),\n",
    "    transforms.ToTensor(),\n",
    "    transforms.Normalize((0.5,), (0.5,))\n",
    "])\n",
    "\n",
    "train_task_dir = './data/omniglot-py/train'\n",
    "val_task_dir = './data/omniglot-py/val'\n",
    "\n",
    "n_way = 60  # 训练时的类别数\n",
    "val_n_way = 5  # 验证时的类别数\n",
    "n_support = 5  # 支持集样本数\n",
    "n_query = 2    # 查询集样本数\n",
    "n_episodes = 100  # 训练任务数\n",
    "\n",
    "train_loader= load_dataloader(\n",
    "    './data/omniglot-py', \n",
    "    n_way=n_way,\n",
    "    n_support=n_support,\n",
    "    n_query=n_query,\n",
    "    n_episodes=n_episodes)\n",
    "\n",
    "val_loader = load_dataloader(\n",
    "    './data/omniglot-py', \n",
    "    n_way=val_n_way,\n",
    "    n_support=n_support,\n",
    "    n_query=n_query,\n",
    "    n_episodes=n_episodes\n",
    ")\n",
    "train_loss_all,val_loss_all=[],[]\n",
    "train_acc_all,val_acc_all=[],[]\n",
    "\n",
    "for epoch in range(num_epochs):\n",
    "    train_loss, train_acc = train_model(model, train_loader, criterion, optimizer, device)\n",
    "    val_loss, val_acc = val_model(model, val_loader, criterion, device)\n",
    "    train_loss_all.append(train_loss)\n",
    "    val_loss_all.append(val_loss)\n",
    "    train_acc_all.append(train_acc)\n",
    "    val_acc_all.append(val_acc)\n",
    "    print(f\"Epoch {epoch+1}/{num_epochs}, Train Loss: {train_loss:.4f}, Train Accuracy: {train_acc:.4f}, Val Loss: {val_loss:.4f}, Val Accuracy: {val_acc:.4f}\")\n",
    "    scheduler.step()\n",
    "# 保存模型\n",
    "torch.save(model.state_dict(), 'protonet_omniglot.pth')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0oAAAHWCAYAAABJ4Xn8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACjRUlEQVR4nOzdd3xT9f7H8VeStulelC4olL2HICCiiIogKgJu9Aq40Ct4VfSn4kQceF0XJ14XOMAtynUDCiggU4bsUSirLQW6d5LfH6cNFAoN0Pak7fv5eOSR5OTknE+Cpvnk8/1+vhaXy+VCRERERERE3KxmByAiIiIiIuJtlCiJiIiIiIgcRYmSiIiIiIjIUZQoiYiIiIiIHEWJkoiIiIiIyFGUKImIiIiIiBxFiZKIiIiIiMhRlCiJiIiIiIgcRYmSiIiIiIjIUZQoiYiIiIiIHEWJkkg1mjZtGhaLheXLl5sdioiI1AFvvvkmFouFXr16mR2KSJ2nRElERESklpg+fTqJiYksXbqUrVu3mh2OSJ2mRElERESkFkhKSmLRokW8/PLLNGzYkOnTp5sdUoVyc3PNDkGkSihREjHZX3/9xaBBgwgNDSU4OJgLL7yQP//8s9w+xcXFPPnkk7Rq1Qp/f38aNGjAOeecw+zZs937pKSkcNNNN9G4cWPsdjtxcXEMGTKEHTt21PArEhGR6jB9+nQiIiK49NJLueqqqypMlDIyMrj33ntJTEzEbrfTuHFjRowYQXp6unufgoICJkyYQOvWrfH39ycuLo4rrriCbdu2ATBv3jwsFgvz5s0rd+wdO3ZgsViYNm2ae9uoUaMIDg5m27ZtXHLJJYSEhHDDDTcA8Pvvv3P11VfTpEkT7HY7CQkJ3HvvveTn5x8T98aNG7nmmmto2LAhAQEBtGnThkceeQSA3377DYvFwsyZM4953owZM7BYLCxevPik30+RyviYHYBIfbZu3TrOPfdcQkNDeeCBB/D19eW///0v/fr1Y/78+e4x6BMmTGDSpEnceuut9OzZk6ysLJYvX87KlSu56KKLALjyyitZt24dd911F4mJiaSlpTF79mySk5NJTEw08VWKiEhVmD59OldccQV+fn4MHz6cKVOmsGzZMnr06AFATk4O5557Lhs2bODmm2+mW7dupKenM2vWLHbv3k1UVBQOh4PLLruMuXPnct1113H33XeTnZ3N7Nmz+fvvv2nRosVJx1VSUsLAgQM555xzePHFFwkMDATgiy++IC8vj3/+8580aNCApUuX8tprr7F7926++OIL9/PXrFnDueeei6+vL6NHjyYxMZFt27bxv//9j2eeeYZ+/fqRkJDA9OnTGTZs2DHvSYsWLejdu/dpvLMix+ESkWozdepUF+BatmxZhY8PHTrU5efn59q2bZt72969e10hISGuvn37urd16dLFdemllx73PIcOHXIBrhdeeKHqghcREa+xfPlyF+CaPXu2y+VyuZxOp6tx48auu+++273P448/7gJcX3/99THPdzqdLpfL5Xr//fddgOvll18+7j6//fabC3D99ttv5R5PSkpyAa6pU6e6t40cOdIFuB566KFjjpeXl3fMtkmTJrksFotr586d7m19+/Z1hYSElNt2ZDwul8s1fvx4l91ud2VkZLi3paWluXx8fFxPPPHEMecRqQoaeidiEofDwS+//MLQoUNp3ry5e3tcXBzXX389f/zxB1lZWQCEh4ezbt06tmzZUuGxAgIC8PPzY968eRw6dKhG4hcRkZozffp0YmJiOP/88wGwWCxce+21fPrppzgcDgC++uorunTpckzVpWz/sn2ioqK46667jrvPqfjnP/95zLaAgAD37dzcXNLT0zn77LNxuVz89ddfAOzfv58FCxZw880306RJk+PGM2LECAoLC/nyyy/d2z777DNKSkr4xz/+ccpxi5yIEiURk+zfv5+8vDzatGlzzGPt2rXD6XSya9cuACZOnEhGRgatW7emU6dO/N///R9r1qxx72+32/n3v//Njz/+SExMDH379uX5558nJSWlxl6PiIhUD4fDwaeffsr5559PUlISW7duZevWrfTq1YvU1FTmzp0LwLZt2+jYseMJj7Vt2zbatGmDj0/Vzb7w8fGhcePGx2xPTk5m1KhRREZGEhwcTMOGDTnvvPMAyMzMBGD79u0Alcbdtm1bevToUW5e1vTp0znrrLNo2bJlVb0UkXKUKInUAn379mXbtm28//77dOzYkXfffZdu3brx7rvvuve555572Lx5M5MmTcLf35/HHnuMdu3auX+1ExGR2unXX39l3759fPrpp7Rq1cp9ueaaawCqvPvd8SpLZZWro9ntdqxW6zH7XnTRRXz//fc8+OCDfPPNN8yePdvdCMLpdJ50XCNGjGD+/Pns3r2bbdu28eeff6qaJNVKzRxETNKwYUMCAwPZtGnTMY9t3LgRq9VKQkKCe1tkZCQ33XQTN910Ezk5OfTt25cJEyZw6623uvdp0aIF9913H/fddx9btmyha9euvPTSS3z88cc18ppERKTqTZ8+nejoaN54441jHvv666+ZOXMmb731Fi1atODvv/8+4bFatGjBkiVLKC4uxtfXt8J9IiIiAKOD3pF27tzpccxr165l8+bNfPDBB4wYMcK9/churYB76HllcQNcd911jBs3jk8++YT8/Hx8fX259tprPY5J5GSpoiRiEpvNxoABA/j222/LtfBOTU1lxowZnHPOOYSGhgJw4MCBcs8NDg6mZcuWFBYWApCXl0dBQUG5fVq0aEFISIh7HxERqX3y8/P5+uuvueyyy7jqqquOuYwdO5bs7GxmzZrFlVdeyerVqytso+1yuQCjQ2p6ejqvv/76cfdp2rQpNpuNBQsWlHv8zTff9Dhum81W7phlt1955ZVy+zVs2JC+ffvy/vvvk5ycXGE8ZaKiohg0aBAff/wx06dP5+KLLyYqKsrjmEROlipKIjXg/fff56effjpm+4QJE5g9ezbnnHMOd955Jz4+Pvz3v/+lsLCQ559/3r1f+/bt6devH927dycyMpLly5fz5ZdfMnbsWAA2b97MhRdeyDXXXEP79u3x8fFh5syZpKamct1119XY6xQRkao1a9YssrOzufzyyyt8/KyzznIvPjtjxgy+/PJLrr76am6++Wa6d+/OwYMHmTVrFm+99RZdunRhxIgRfPjhh4wbN46lS5dy7rnnkpuby5w5c7jzzjsZMmQIYWFhXH311bz22mtYLBZatGjBd999R1pamsdxt23blhYtWnD//fezZ88eQkND+eqrrypsOPTqq69yzjnn0K1bN0aPHk2zZs3YsWMH33//PatWrSq374gRI7jqqqsAeOqppzx/I0VOhZkt90TqurL24Me77Nq1y7Vy5UrXwIEDXcHBwa7AwEDX+eef71q0aFG54zz99NOunj17usLDw10BAQGutm3bup555hlXUVGRy+VyudLT011jxoxxtW3b1hUUFOQKCwtz9erVy/X555+b8bJFRKSKDB482OXv7+/Kzc097j6jRo1y+fr6utLT010HDhxwjR071tWoUSOXn5+fq3Hjxq6RI0e60tPT3fvn5eW5HnnkEVezZs1cvr6+rtjYWNdVV11VbqmK/fv3u6688kpXYGCgKyIiwnX77be7/v777wrbgwcFBVUY1/r16139+/d3BQcHu6Kioly33Xaba/Xq1cccw+Vyuf7++2/XsGHDXOHh4S5/f39XmzZtXI899tgxxywsLHRFRES4wsLCXPn5+R6+iyKnxuJyHVXXFBERERHxQiUlJcTHxzN48GDee+89s8OROk5zlERERESkVvjmm2/Yv39/uQYRItVFFSURERER8WpLlixhzZo1PPXUU0RFRbFy5UqzQ5J6QBUlEREREfFqU6ZM4Z///CfR0dF8+OGHZocj9YQqSiIiIiIiIkdRRUlEREREROQoSpRERERERESOUucXnHU6nezdu5eQkBAsFovZ4YiI1Bsul4vs7Gzi4+OxWvW73JH0t0lExBwn87epzidKe/fuJSEhwewwRETqrV27dtG4cWOzw/Aq+tskImIuT/421flEKSQkBDDejNDQUJOjERGpP7KyskhISHB/Dsth+tskImKOk/nbVOcTpbIhDaGhofpjJCJiAg0tO5b+NomImMuTv00aNC4iIiIiInIUJUoiIiIiIiJHUaIkIiIiIiJylDo/R0lEvJPL5aKkpASHw2F2KHKKbDYbPj4+moMkIiJ1khIlEalxRUVF7Nu3j7y8PLNDkdMUGBhIXFwcfn5+ZociIiJSpZQoiUiNcjqdJCUlYbPZiI+Px8/PTxWJWsjlclFUVMT+/ftJSkqiVatWWlRWRETqFCVKIlKjioqKcDqdJCQkEBgYaHY4choCAgLw9fVl586dFBUV4e/vb3ZIIiIiVUY//4mIKVR9qBv07ygiInWV/sKJiIiIiIgcRYmSiIiIiIjIUZQoiYiYIDExkcmTJ1fJsebNm4fFYiEjI6NKjlefLFiwgMGDBxMfH4/FYuGbb76p9Dnz5s2jW7du2O12WrZsybRp06o9ThERqXlKlEREPNSvXz/uueeeKjnWsmXLGD16dJUcS05dbm4uXbp04Y033vBo/6SkJC699FLOP/98Vq1axT333MOtt97Kzz//XM2RiohITVPXOxGRKuJyuXA4HPj4VP7R2rBhwxqISCozaNAgBg0a5PH+b731Fs2aNeOll14CoF27dvzxxx/85z//YeDAgdUVpoiImEAVpRPYm5HPxZMXMOT1P8wORaROc7lc5BWV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6csvvyQqKorzzz8fq9VKly5d3Ps/9dRTzJw5k1mzZjF27NjTOveMGTMoKCjgww8/JCgoCIDXX3+dwYMH8+9//xtfX18yMzO57LLL3OvLtWvXzv385ORk/u///o+2bdsC0KpVq9OKR8RjG3+Ajd/DkNeNDna+ARUnSWXOuhMa94CYDjUXo4jIcShRqsThZg4mByJSHzy89/iPWWzl7/9fxWupGfseNar4nrWnHtMRbrjhBm677TbefPNN7HY706dP57rrrsNqtZKTk8OECRP4/vvv2bdvHyUlJeTn55OcnHza592wYQNdunRxJ0kAffr0wel0smnTJvr27cuoUaMYOHAgF110Ef379+eaa65xL6Mwbtw4br31Vj766CP69+/P1VdfXeGC3SJVattv8Olw43bLC6HjFZU/x2KBhJ7VG5eIiIc0R6kS6nonUoP8go5/8fU/iX0DKt/3FAwePBiXy8X333/Prl27+P3337nhhhsAuP/++5k5cybPPvssv//+O6tWraJTp04UFRWd0rlO1tSpU1m8eDFnn302n332Ga1bt+bPP/8EYMKECaxbt45LL72UX3/9lfbt2zNz5swaiUvqsaXvGNcdhkGbQebGIiJyCpQoVcKmOUoiUsrf358rrriC6dOn88knn9CmTRu6desGwMKFCxk1ahTDhg2jU6dOxMbGsmPHjio5b7t27Vi9ejW5uYebUCxcuBCr1UqbNm3c28444wzGjx/PokWL6NixIzNmzHA/1rp1a+69915++eUXrrjiCqZOnVolsYlUKDvV6G4HcN5Dx/54ISJSCyhRqoS1rKKkOUoigjH87vvvv+f99993V5PAmPfz9ddfs2rVKlavXs31119/TIe80zmnv78/I0eO5O+//+a3337jrrvu4sYbbyQmJoakpCTGjx/P4sWL2blzJ7/88gtbtmyhXbt25OfnM3bsWObNm8fOnTtZuHAhy5YtKzeHSaTKrfkMXA5jvlF0W7OjERE5JZqjVAlbaSrpVEVJRIALLriAyMhINm3axPXXX+/e/vLLL3PzzTdz9tlnExUVxYMPPkhWVlaVnDMwMJCff/6Zu+++mx49ehAYGMiVV17Jyy+/7H5848aNfPDBBxw4cIC4uDjGjBnD7bffTklJCQcOHGDEiBGkpqYSFRXFFVdcwZNPPlklsYkcw+WCvz4ybp/xD3NjERE5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srISqampvGCjH+amHybU2w+wDwD2Qai3H2j73NTpR5Q0Gg26du36g58nKioqZH8I64V6H4R6+wH2AcA+aGn7OZIUGHNT6wj19gPsA4B9EOrtB9ouN/ErPiIiIiIiIj8slIiIiIiIiPywULoGo9GIl156CUajMdihBE2o90Gotx9gHwDsg1Bvf0cT6u9HqLcfYB8A7INQbz/Q9n3Q6RdzICIiIiIiaimOKBEREREREflhoUREREREROSHhRIREREREZEfFkpERERERER+WCg14c9//jPS09MRFhaG7Oxs7N+/P9ghtZklS5ZgyJAhiIyMRGJiIh544AEUFRX5HFNbW4vp06cjPj4eERERGD9+PEpLS4MUcdtaunQpFEXB7Nmz3dtCof3nzp3DY489hvj4eJhMJgwYMAAHDx507xdCYMGCBUhJSYHJZMLIkSPx9ddfBzHi1uV0OjF//nxkZGTAZDKhR48eePnll+G95k1n64N//vOfGDduHFJTU6EoCj788EOf/c1pb3l5OXJzcxEVFYWYmBhMmTIFVqu1HVsRWpibmJuYm5ibmJvaKTcJCmj9+vXCYDCINWvWiOPHj4snn3xSxMTEiNLS0mCH1iZGjRol1q5dK44dOyYKCwvF2LFjRVpamrBare5j8vPzRbdu3URBQYE4ePCguOOOO8Sdd94ZxKjbxv79+0V6eroYOHCgmDVrlnt7Z29/eXm56N69u5g0aZLYt2+fOH36tPjss8/EN9984z5m6dKlIjo6Wnz44YfiyJEj4v777xcZGRmipqYmiJG3nsWLF4v4+Hjx8ccfi+LiYrFhwwYREREhVq5c6T6ms/XBJ598IubNmyc++OADAUBs3LjRZ39z2jt69GgxaNAgsXfvXvHFF1+Inj17ikceeaSdWxIamJuYm5ibmJuYm9ovN7FQasTQoUPF9OnT3fedTqdITU0VS5YsCWJU7efixYsCgNi5c6cQQoiKigqh1+vFhg0b3MecOHFCABB79uwJVpitrrKyUmRmZoqtW7eKu+66y52MQqH9zz//vBg+fHij+1VVFcnJyeL3v/+9e1tFRYUwGo3inXfeaY8Q29y9994rJk+e7LPtoYceErm5uUKIzt8H/smoOe396quvBABx4MAB9zGffvqpUBRFnDt3rt1iDxXMTcxNzE2+OvvfZSGYm4KZmzj1LoC6ujocOnQI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",
      "text/plain": [
       "<Figure size 1000x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "resdf = pd.DataFrame(data = {\"train_loss\":train_loss_all,\n",
    "\"train_acc\":train_acc_all,\"val_loss\":val_loss_all,\"val_acc\":val_acc_all})\n",
    "resdf.to_csv(\"few_shot_res.csv\",index=False)\n",
    "## 可视化模型训练过程\n",
    "plt.Figure(dpi=600)\n",
    "plt.figure(figsize=(10, 5))\n",
    "plt.subplot(1, 2, 1)\n",
    "plt.plot(train_loss_all, label='train_loss')\n",
    "plt.plot(val_loss_all, label='val_loss',linestyle='--')\n",
    "plt.legend()\n",
    "plt.xlabel('Epoch')\n",
    "plt.ylabel('Loss')\n",
    "plt.title('Loss')\n",
    "\n",
    "plt.subplot(1, 2, 2)\n",
    "plt.plot(train_acc_all, label='train_acc')\n",
    "plt.plot(val_acc_all, label='val_acc',linestyle='--')\n",
    "plt.legend()\n",
    "plt.xlabel('Epoch')\n",
    "plt.ylabel('Accuracy')\n",
    "plt.title('Accuracy')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 模型评估"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_2704142/4161797695.py:5: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n",
      "  model.load_state_dict(torch.load('protonet_omniglot.pth'))\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABfIAAAYuCAYAAAAAE92IAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADHwUlEQVR4nOzde5jWdZ34//fNHDiOMoKcIlRSBJRUIDCzBFFR21X7Lrm6W62uWmGuZHgo1lPfDiutpytMJENdvlltEfizzbBS8dIiD5kkJogHQhAERE5ymmHm98duXLlwv25gBuY9N4/HdXVdXfOc99wv5pI3My8/DoXGxsbGBAAAAAAAZKlNSw8AAAAAAAAUZ5EPAAAAAAAZs8gHAAAAAICMWeQDAAAAAEDGLPIBAAAAACBjFvkAAAAAAJAxi3wAAAAAAMiYRT4AAAAAAGTMIh8AAAAAADJmkd+KLFq0KBUKhXTzzTc328ecPXt2KhQKafbs2c32MQH2BncgsL9y/wH7M3cgsD9zB/LXLPL3svvuuy8VCoX07LPPtvQoe83SpUvTueeemzp37pwOOOCAdPbZZ6fXXnutpccCMlDud+CCBQvSFVdckU444YTUrl27VCgU0qJFi1p6LCAD5X7/zZgxI/393/996tu3b+rQoUM68sgj0/jx49OaNWtaejQgA+V+B86cOTONHj069erVK7Vt2zb17t07jRkzJs2bN6+lRwMyUO534P926qmnpkKhkC677LKWHqXsVbb0ALRuGzZsSCNHjkxr165NEyZMSFVVVem2225LJ510Unr++edTly5dWnpEgL1mzpw56dvf/nYaOHBgGjBgQHr++edbeiSAfeKzn/1s6tWrV/rUpz6V+vTpk1544YV0xx13pIceeig999xzqX379i09IsBe88ILL6Ta2to0bty41LVr17R8+fJ0zz33pGHDhqU5c+akY445pqVHBNgnZsyYkebMmdPSY+w3LPJpkjvvvDMtXLgwPf300+lDH/pQSimlM844Ix199NHplltuSd/85jdbeEKAveess85Ka9asSTU1Nenmm2+2yAf2G9OnT08jRox4z9uGDBmS/umf/indf//96eKLL26ZwQD2geuvv36Ht1188cWpd+/eafLkyemuu+5qgakA9q3Nmzen8ePHp2uuuWan9yLNz4/WycDWrVvT9ddfn4YMGZIOPPDA1LFjx/TRj340PfbYY0XP3HbbbemQQw5J7du3TyeddNJO/xO++fPnpzFjxqSDDjootWvXLg0dOjQ9+OCDJefZuHFjmj9/flq1alXJ950+fXr60Ic+tH2Jn1JK/fv3T6NGjUo//vGPS54HaM134EEHHZRqampKvh/AzrTm++9/L/FTSukTn/hESimll156qeR5gNZ8B+5Mt27dUocOHfyIMWCXlMMd+K1vfSs1NDSkK6+8cpfP0DQW+RlYt25d+t73vpdGjBiRJk6cmG688ca0cuXKNHr06J0+3Tlt2rT07W9/O33hC19IX/nKV9K8efPSySefnN56663t7/Piiy+m448/Pr300kvpy1/+crrllltSx44d0znnnJNmzpwZzvP000+nAQMGpDvuuCN8v4aGhvTHP/4xDR06dIc2bNiw9Oqrr6b169fv2icB2G+11jsQoKnK7f5bvnx5Simlrl277tF5YP9SDnfgmjVr0sqVK9MLL7yQLr744rRu3bo0atSoXT4P7L9a+x24ePHidNNNN6WJEyf6kYr7kB+tk4Ha2tq0aNGiVF1dvf1tl1xySerfv3+aNGlSmjp16nve/5VXXkkLFy5M73vf+1JKKZ1++ulp+PDhaeLEienWW29NKaU0bty41KdPn/TMM8+ktm3bppRSuvTSS9OJJ56Yrrnmmu1PTDXF6tWr05YtW1LPnj13aH9525tvvpmOPPLIJr8WUL5a6x0I0FTldv9NnDgxVVRUpDFjxuy11wDKRzncgccff3xasGBBSimlTp06pWuvvTZddNFFzfoaQHlq7Xfg+PHj03HHHZfOO++8ZvuYlOaJ/AxUVFRs/43b0NCQVq9enerr69PQoUPTc889t8P7n3POOdt/46b030+/Dx8+PD300EMppf9esD/66KPp3HPPTevXr0+rVq1Kq1atSm+//XYaPXp0WrhwYVq6dGnReUaMGJEaGxvTjTfeGM69adOmlFLafjn8tXbt2r3nfQCKaa13IEBTldP994Mf/CBNnTo1jR8/Ph1xxBG7fR7Y/5TDHXjvvfemWbNmpTvvvDMNGDAgbdq0KW3btm2XzwP7r9Z8Bz722GPppz/9abr99tt37xdNk3kiPxP/8R//kW655ZY0f/78VFdXt/3thx122A7vu7Nvjvr167f9Z9K/8sorqbGxMV133XXpuuuu2+nrrVix4j0XwJ74y386s2XLlh3a5s2b3/M+AJHWeAcCNIdyuP+eeOKJdNFFF6XRo0enb3zjG836sYHy1trvwA9/+MPb//95552XBgwYkFJK6eabb2621wDKV2u8A+vr69Pll1+ePv3pT7/n78tk37DIz8D3v//9dMEFF6RzzjknXXXVValbt26poqIi/du//Vt69dVXd/vjNTQ0pJRSuvLKK9Po0aN3+j6HH354k2ZO6b//kse2bdumZcuW7dD+8rZevXo1+XWA8tZa70CApiqH+2/u3LnprLPOSkcffXSaPn16qqz07QWwa8rhDvxrtbW16eSTT07333+/RT5QUmu9A6dNm5YWLFiQpkyZkhYtWvSetn79+rRo0aLtf/k3zc9X2hmYPn166tu3b5oxY0YqFArb337DDTfs9P0XLly4w9tefvnldOihh6aUUurbt29KKaWqqqp0yimnNP/A/6NNmzZp0KBB6dlnn92hPfXUU6lv376ppqZmr70+UB5a6x0I0FSt/f579dVX0+mnn566deuWHnroodSpU6e9/ppA+Wjtd+DObNq0Ka1du7ZFXhtoXVrrHbh48eJUV1eXPvKRj+zQpk2blqZNm5ZmzpyZzjnnnL02w/7Mz8jPQEVFRUoppcbGxu1ve+qpp9KcOXN2+v4PPPDAe36u1dNPP52eeuqpdMYZZ6SUUurWrVsaMWJEmjJlyk6fll+5cmU4z8aNG9P8+fPTqlWrSs4+ZsyY9Mwzz7xnmb9gwYL06KOPpk9+8pMlzwO05jsQoCla8/23fPnydNppp6U2bdqkhx9+OB188MElzwD8tdZ8B65YsWKHty1atCg98sgjaejQoSXPA7TWO/C8885LM2fO3OF/KaV05plnppkzZ6bhw4eHH4M954n8feSee+5Js2bN2uHt48aNS3/zN3+TZsyYkT7xiU+kj3/84+n1119Pd911Vxo4cGDasGHDDmcOP/zwdOKJJ6axY8emLVu2pNtvvz116dIlXX311dvf5zvf+U468cQT06BBg9Ill1yS+vbtm9566600Z86ctGTJkjR37tyisz799NNp5MiR6YYbbij5l1xceuml6e67704f//jH05VXXpmqqqrSrbfemrp3757Gjx+/658goKyV6x24du3aNGnSpJRSSr/5zW9SSindcccdqXPnzqlz587psssu25VPD1DGyvX+O/30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7dq1S4VCIS1atKilxwIyUO7334wZM9Lf//3fp759+6YOHTqkI488Mo0fPz6tWbOmpUcDMlDud+DMmTPT6NGjU69evVLbtm1T796905gxY9K8efNaejQgA+V+B/5vp556aioUCumyyy5r6VHKXmVLD0DrtmHDhjRy5Mi0du3aNGHChFRVVZVuu+22dNJJJ6Xnn38+denSpaVHBNhr5syZk7797W+ngQMHpgEDBqTnn3++pUcC2Cc++9nPpl69eqVPfepTqU+fPumFF15Id9xxR3rooYfSc889l9q3b9/SIwLsNS+88EKqra1N48aNS127dk3Lly9P99xzTxo2bFiaM2dOOuaYY1p6RIB9YsaMGWnOnDktPcZ+wyKfJrnzzjvTwoUL09NPP50+9KEPpZRSOuOMM9LRRx+dbrnllvTNb36zhScE2HvOOuustGbNmlRTU5Nuvvlmi3xgvzF9+vQ0YsSI97xtyJAh6Z/+6Z/S/fffny6++OKWGQxgH7j++ut3eNvFF1+cevfunSZPnpzuuuuuFpgKYN/avHlzGj9+fLrmmmt2ei/S/PxonQxs3bo1XX/99WnIkCHpwAMPTB07dkwf/ehH02OPPVb0zG233ZYOOeSQ1L59+3TSSSft9D/hmz9/fhozZkw66KCDUrt27dLQoUPTgw8+WHKejRs3pvnz56dVq1aVfN/p06enD33oQ9uX+Cml1L9//zRq1Kj04x//uOR5gNZ8Bx500EGppqam5PsB7Exrvv/+9xI/pZQ+8YlPpJRSeumll0qeB2jNd+DOdOvWLXXo0MGPGAN2STncgd/61rdSQ0NDuvLKK3f5DE1jkZ+BdevWpe9973tpxIgRaeLEienGG29MK1euTKNHj97p053Tpk1L3/72t9MXvvCF9JWvfCXNmzcvnXzyyemtt97a/j4vvvhiOv7449NLL72UvvzlL6dbbrkldezYMZ1zzjlp5syZ4TxPP/10GjBgQLrjjjvC92toaEh//OMf09ChQ3dow4YNS6+++mpav379rn0SgP1Wa70DAZqq3O6/5cuXp5RS6tq16x6dB/Yv5XAHrlmzJq1cuTK98MIL6eKLL07r1q1Lo0aN2uXzwP6rtd+BixcvTjfddFOaOHGiH6m4D/nROhmora1NixYtStXV1dvfdskll6T+/funSZMmpalTp77n/V955ZW0cOHC9L73vS+llNLpp5+ehg8fniZOnJhuvfXWlFJK48aNS3369EnPPPNMatu2bUoppUsvvTSdeOKJ6Zprrtn+xFRTrF69Om3ZsiX17Nlzh/aXt7355pvpyCOPbPJrAeWrtd6BAE1VbvffxIkTU0VFRRozZsxeew2gfJTDHXj88cenBQsWpJRS6tSpU7r22mvTRRdd1KyvAZSn1n4Hjh8/Ph133HHpvPPOa7aPSWmeyM9ARUXF9t+4DQ0NafXq1am+vj4NHTo0Pffcczu8/znnnLP9N25K//30+/Dhw9NDDz2UUvrvBfujjz6azj333LR+/fq0atWqtGrVqvT222+n0aNHp4ULF6alS5cWnWfEiBGpsbEx3XjjjeHcmzZtSiml7ZfDX2vXrt173gegmNZ6BwI0VTndfz/4wQ/S1KlT0/jx49MRRxyx2+eB/U853IH33ntvmjVrVrrzzjvTgAED0qZNm9K2bdt2+Tyw/2rNd+Bjjz2WfvrTn6bbb799937RNJkn8jPxH//xH+mWW25J8+fPT3V1ddvffthhh+3wvjv75qhfv37bfyb9K6+8khobG9N1112Xrrvuup2+3ooVK95zAeyJv/ynM1u2bNmhbd68+T3vAxBpjXcgQHMoh/vviSeeSBdddFEaPXp0+sY3vtGsHxsob639Dvzwhz+8/f+fd955acCAASmllG6++eZmew2gfLXGO7C+vj5dfvnl6dOf/vR7/r5M9g2L/Ax8//vfTxdccEE655xz0lVXXZW6deuWKioq0r/927+lV199dbc/XkNDQ0oppSuvvDKNHj16p+9z+OGHN2nmlP77L3ls27ZtWrZs2Q7tL2/r1atXk18HKG+t9Q4EaKpyuP/mzp2bzjrrrHT00Uen6dOnp8pK314Au6Yc7sC/Vltbm04++eR0//33W+QDJbXWO3DatGlpwYIFacqUKWnRokXvaevXr0+LFi3a/pd/0/x8pZ2B6dOnp759+6YZM2akQqGw/e033HDDTt9/4cKFO7zt5ZdfToceemhKKaW+ffumlFKqqqpKp5xySvMP/D/atGmTBg0alJ599tkd2lNPPZX69u2bampq9trrA+Whtd6BAE3V2u+/V199NZ1++umpW7du6aGHHkqdOnXa668JlI/WfgfuzKZNm9LatWtb5LWB1qW13oGLFy9OdXV16SMf+cgObdq0aWnatGlp5syZ6ZxzztlrM+zP/Iz8DFRUVKSUUmpsbNz+tqeeeirNmTNnp+//wAMPvOfnWj399NPpqaeeSmeccUZKKaVu3bqlESNGpClTpuz0afmVK1eG82zcuDHNnz8/rVq1quTsY8aMSc8888x7lvkLFixIjz76aPrkJz9Z8jxAa74DAZqiNd9/y5cvT6eddlpq06ZNevjhh9PBBx9c8gzAX2vNd+CKFSt2eNuiRYvSI488koYOHVryPEBrvQPPO++8NHPmzB3+l1JKZ555Zpo5c2YaPnx4+DHYc57I30fuueeeNGvWrB3ePm7cuPQ3f/M3acaMGekTn/hE+vjHP55ef/31dNddd6WBAwemDRs27HDm8MMPTyeeeGIaO3Zs2rJlS7r99ttTly5d0tVXX739fb7zne+kE088MQ0aNChdcsklqW/fvumtt95Kc+bMSUuWLElz584tOuvTTz+dRo4cmW644YaSf8nFpZdemu6+++708Y9/PF155ZWpqqoq3Xrrral79+5p/Pjxu/4JAspaud6Ba9euTZMmTUoppfSb3/wmpZTSHXfckTp37pw6d+6cLrvssl359ABlrFzvv9NPPz299tpr6eqrr05PPvlkevLJJ7e37t27p1NPPXUXPjtAuSvXO3DQoEFp1KhR6dhjj021tbVp4cKFaerUqamuri7ddNNNu/4JAspaOd6B/fv3T/37999pO+ywwzyJv5dZ5O8jkydP3unbL7jggnTBBRek5cuXpylTpqSHH344DRw4MH3/+99PP/nJT9Ls2bN3OPOZz3wmtWnTJt1+++1pxYoVadiwYemOO+5IPXv23P4+AwcOTM8++2z66le/mu6777709ttvp27duqXjjjsuXX/99c3266qpqUmzZ89OV1xxRfr617+eGhoa0ogRI9Jtt93mySxgu3K9A995550d/iKhW265JaWU0iGHHGKRD5Tt/feXbwS/9a1v7dBOOukki3wgpVS+d+DYsWPTz3/+8zRr1qy0fv361K1bt3TaaaelCRMmpEGDBjXb6wCtW7negbScQuNf/zccAAAAAABAVvyMfAAAAAAAyJhFPgAAAAAAZMwiHwAAAAAAMmaRDwAAAAAAGbPIBwAAAACAjFnkAwAAAABAxizyAQAAAAAgY5UtPQAAAPBejY2NYS8UCvtoEgAAIAeeyAcAAAAAgIxZ5AMAAAAAQMYs8gEA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z9x2223pkEMOSe3bt08nnXTSTv8Tvvnz56cxY8akgw46KLVr1y4NHTo0PfjggyXn2bhxY5o/f35atWpVyfedPn16+tCHPrR9iZ9SSv3790+jRo1KP/7xj0ueB2jNd+BBBx2UampqSr4fwM605vvvfy/xU0rpE5/4REoppZdeeqnkeYDWfAfuTLdu3VKHDh38iDFgl5TDHfitb30rNTQ0pCuvvHKXz9A0FvkZWLduXfre976XRowYkSZOnJhuvPHGtHLlyjR69OidPt05bdq09O1vfzt94QtfSF/5ylfSvHnz0sknn5zeeuut7e/z4osvpuOPPz699NJL6ctf/nK65ZZbUseOHdM555yTZs6cGc7z9NNPpwEDBqQ77rgjfL+Ghob0xz/+MQ0dOnSHNmzYsPTqq6+m9evX79onAdhvtdY7EKCpyu3+W758eUoppa5du+7ReWD/Ug534Jo1a9LKlSvTCy+8kC6++OK0bt26NGrUqF0+D+y/WvsduHjx4nTTTTeliRMn+pGK+5AfrZOB2tratGjRolRdXb39bZdccknq379/mjRpUpo6dep73v+VV15JCxcuTO973/tSSimdfvrpafjw4WnixInp1ltvTSmlNG7cuNSnT5/0zDPPpLZt26aUUrr00kvTiSeemK655prtT0w1xerVq9OWLVtSz549d2h/edubb76ZjjzyyCa/FlC+WusdCNBU5Xb/TZw4MVVUVKQxY8bstdcAykc53IHHH398WrBgQUoppU6dOqVrr702XXTRRc36GkB5au134Pjx49Nxxx2XzjvvvGb7mJTmifwMVFRUbP+N29DQkFavXp3q6+vT0KFD03PPPbfD+59zzjnbf+Om9N9Pvw8fPjw99NBDKaX/XrA/+uij6dxzz03r169Pq1atSqtWrUpvv/12Gj16dFq4cGFaunRp0XlGjBiRGhsb04033hjOvWnTppRS2n45/LV27dq9530AimmtdyBAU5XT/feDH/wgTZ06NY0fPz4dccQRu30e2P+Uwx147733plmzZqU777wzDRgwIG3atClt27Ztl88D+6/WfAc+9thj6ac//Wm6/fbbd+8XTZN5Ij8T//Ef/5FuueWWNH/+/FRXV7f97YcddtgO77uzb4769eu3/WfSv/LKK6mxsTFdd9116brrrtvp661YseI9F8Ce+Mt/OrNly5Yd2ubNm9/zPgCR1ngHAjSHcrj/nnjiiXTRRRel0aNHp2984xvN+rGB8tba78APf/jD2///eeedlwYMGJBSSunmm29uttcAyldrvAPr6+vT5Zdfnj796U+/5+/LZN+wyM/A97///XTBBRekc845J1111VWpW7duqaKiIv3bv/1bevXVV3f74zU0NKSUUrryyivT6NGjd/o+hx9+eJNmTum//5LHtm3bpmXLlu3Q/vK2Xr16Nfl1gPLWWu9AgKYqh/tv7ty56ayzzkpHH310mj59eqqs9O0FsGvK4Q78a7W1tenkk09O999/v0U+UFJrvQOnTZuWFixYkKZMmZIWLVr0nrZ+/fq0aNGi7X/5N83PV9oZmD59eurbt2+aMWNGKhQK299+ww037PT9Fy5cuMPbXn755XTooYemlFLq27dvSimlqqqqdMoppzT/wP+jTZs2adCgQenZZ5/doT311FOpb9++qaamZq+9PlAeWusdCNBUrf3+e/XVV9Ppp5+eunXrlh566KHUqVOnvf6aQPlo7XfgzmzatCmtXbu2RV4baF1a6x24ePHiVFdXlz7ykY/s0KZNm5amTZuWZs6cmc4555y9NsP+zM/Iz0BFRUVKKaXGxsbtb3vqqafSnDlzdvr+DzzwwHt+rtXTTz+dnnrqqXTGGWeklFLq1q1bGjFiRJoyZcpOn5ZfuXJlOM/GjRvT/Pnz06pVq0rOPmbMmPTMM8+8Z5m/YMGC9Oijj6ZPfvKTJc8DtOY7EKApWvP9t3z58nTaaaelNm3apIcffjgdfPDBJc8A/LXWfAeuWLFih7ctWrQoPfLII2no0KElzwO01jvwvPPOSzNnztzhfymldOaZZ6aZM2em4cOHhx+DPeeJ/H3knnvuSbNmzdrh7ePGjUt/8zd/k2bMmJE+8YlPpI9//OPp9ddfT3fddVcaOHBg2rBhww5nDj/88HTiiSemsWPHpi1btqTbb789denSJV199dXb3+c73/lOOvHEE9OgQYPSJZdckvr27ZveeuutNGfOnLRkyZI0d+7corM+/fTTaeTIkemGG24o+ZdcXHrppenuu+9OH//4x9OVV16Zqqqq0q233pq6d++exo8fv+ufIKCslesduHbt2jRp0qSUUkq/+c1vUkop3XHHHalz586pc+fO6bLLLtuVTw9Qxsr1/jv99NPTa6+9lq6++ur05JNPpieffHJ76969ezr11FN34bMDlLtyvQMHDRqURo0alY499thUW1ubFi5cmKZOnZrq6urSTTfdtOufIKCsleMd2L9//9S/f/+dtsMOO8yT+HuZRf4+Mnny5J2+/YILLkgXXHBBWr58eZoyZUp6+OGH08CBA9P3v//99JOf/CTNnj17hzOf+cxnUps2bdLtt9+eVqxYkYYNG5buuOOO1LNnz+3vM3DgwPTss8+mr371q+m+++5Lb7/9durWrVs67rjj0vXXX99sv66ampo0e/bsdMUVV6Svf/3rqaGhIY0YMSLddtttnswCtivXO/Cdd97Z4S8SuuWWW1JKKR1yyCEW+UDZ3n9/+UbwW9/61g7tpJNOssgHUkrleweOHTs2/fznP0+zZs1K69evT926dUunnXZamjBhQho0aFCzvQ7QupXrHUjLKTT+9X/DAQAAAAAAZMXPyAcAAAAAgIxZ5AMAAAAAQMYs8gEAAAAAIGMW+QAAAAAAkDGLfAAAAAAAyJhFPgAAAAAAZMwiHwAAAAAAMmaRDwAAAAAAGbPIBwAAAACAjFnkAwAAAABAxizyAQAAAAAgYxb5AAAAAACQMYt8AAAAAADImEU+AAAAAABkzCIfAAAAAAAyZpEPAAAAAAAZs8gHAAAAAICMWeQDAAAAAEDGLPIBAAAAACBjFvkAAAAAAJAxi3wAAAAAAMiYRT4AAAAAAGTMIh8AAAAAADJW2dIDAEA5WrZsWdjr6urC/v73vz/shUJht2cCAAAAWidP5AMAAAAAQMYs8gEAAAAAIGMW+QAAAAAAkDGLfAAAAAAAyJhFPgAAAAAAZMwiHwAAAAAAMmaRDwAAAAAAGSs0NjY2tvQQAORr06ZNYV+5cmXYe/ToUbRVV1fv0Uytwb/8y7+EfenSpWH/0Y9+FPZy/twBAAAA7+WJfAAAAAAAyJhFPgAAAAAAZMwiHwAAAAAAMmaRDwAAAAAAGbPIBwAAAACAjFnkAwAAAABAxipbegBat/r6+qLt+eefD89269Yt7H369NmTkYDd1NDQEPY777wz7N/97nfDPn369KJt0KBB4dnWbN26dWFfs2ZN2BsbG5txGiA3pX6Pl+pt2pTv8zil/lzauHFj2Dt16tSc4wBFrFq1Kuxr164t2j7wgQ809zj7VPRrK+XAAw9sxkkA2J+U73cAAAAAAABQBizyAQAAAAAgYxb5AAAAAACQMYt8AAAAAADImEU+AAAAAABkzCIfAAAAAAAyZpEPAAAAAAAZq2zpAWjdNmzYULRdeOGF4dl/+Id/CPtXvvKVPZoJ2D1r164N+w9+8IOwv+997wt77969d3smgHJ33333hf3RRx8N+9ixY8P+4Q9/OOyFQiHsLemXv/xl2L/zne+E/bvf/W7Ye/bsudszATtavHhx2K+55pqi7eabbw7PHnPMMXs0U3PZuHFj2P/lX/6laGvfvn14dtKkSWGvrq4OOwD7L0/kAwAAAABAxizyAQAAAAAgYxb5AAAAAACQMYt8AAAAAADImEU+AAAAAABkzCIfAAAAAAAyZpEPAAAAAAAZq2zpAVqDDRs2hP3BBx8M++OPP160/eM//mN49sQTTwx7mzYt++9iGhsbi7ZNmzaFZ+vq6pp7HGAPrFmzJuxLliwJ+0UXXRT22tra3R0JoOxt3bo17DNmzAj7vHnzwh59/ZlSSgcccEDY96aGhoawl/ra+pe//GXYV6xYEfaePXuGHdg1nTp1CvsLL7xQtF1zzTXh2R/96Edh79y5c9ibauHChWH/+c9/XrSVmq3UHdW7d++wA7D/8kQ+AAAAAABkzCIfAAAAAAAyZpEPAAAAAAAZs8gHAAAAAICMWeQDAAAAAEDGLPIBAAAAACBjFvkAAAAAAJCxypYeIAfvvPNO2L/0pS+F/Uc/+lHY6+vri7bp06eHZ6dOnRr2s846K+xt2vh3NcDeVVNT09IjALQ6F110UdiXLl0a9kmTJoV9xYoVYT/ggAPCvjfV1dWF/cUXXwz7qFGjwt6/f//dngnYfd26dQt79+7di7ZHH300PHv33XeH/Yorrgh7ZWXTVh1z584N++rVq4u2TZs2hWcXLVoU9t69e4cdgP2XLS8AAAAAAGTMIh8AAAAAADJmkQ8AAAAAABmzyAcAAAAAgIxZ5AMAAAAAQMYs8gEAAAAAIGMW+QAAAAAAkLHKlh5gX9i2bVvYv/vd74Z9+vTpYf/3f//3sA8aNKho+9rXvhae/exnPxv2ZcuWhf2f//mfw962bduwA7Bnqqurw75y5cqwr1+/Puzub2jdKivjL8NHjRoV9ltvvTXsixYtCvvhhx8e9r2pTZv4WaIDDzww7KXuRyB/3bp1C/vtt98e9o997GNhHz58eNhL7Qh+97vfhb1du3ZFW6FQaNJrA0AxnsgHAAAAAICMWeQDAAAAAEDGLPIBAAAAACBjFvkAAAAAAJAxi3wAAAAAAMiYRT4AAAAAAGTMIh8AAAAAADJW2dID7AubNm0K+49//OOwn3nmmWH/3Oc+F/aqqqqirX///uHZ6667LuxXXXVV2A8//PCwn3rqqWEHoLj169cXbdHdn1JKb7311h5/7JRS6tq1a9iB1u0DH/hA2Dt16hT2+fPnh/2UU07Z7ZmaS6n78dhjjw37/fffH/aNGzeGvW3btmEH9r6zzjor7L/5zW/Cfvfdd4f9mGOOCfvy5cvD/uijj4b9/PPPL9qeeOKJ8OzChQvDftJJJ4UdoJRSe9AtW7aEvbIyXhd37NixaCsUCuFZmsYT+QAAAAAAkDGLfAAAAAAAyJhFPgAAAAAAZMwiHwAAAAAAMmaRDwAAAAAAGbPIBwAAAACAjFnkAwAAAABAxipbeoB9oV27dmH/13/917B369Yt7FVVVbs9019079497DfeeGPYH3zwwbC/+OKLYT/11FPDXkpdXd0eNSAflZXxHwXV1dVh//Wvfx32kSNHFm0HHXRQeLZ9+/ZhLxQKYS+lvr4+7L/5zW/CfvPNNxdt//Vf/xWe7dixY9jXrFkTdqC8lbqbS91/DQ0NzTnOPlVRUdHSIwB72fvf//6wX3XVVWG/8sorw/53f/d3YX/zzTfDvn79+rBfcMEFRdvvf//78OyqVavCDtDY2Bj2J598Muzf+MY3wr5s2bKw19TUhP3SSy8t2saMGROeLfU9+N7eAbR2nsgHAAAAAICMWeQDAAAAAEDGLPIBAAAAACBjFvkAAAAAAJAxi3wAAAAAAMiYRT4AAAAAAGSssqUH2BcqK+Nf5v/5P/9nH02y+9q1axf22trasD/33HNhb2hoCHubNvG/61m7dm3RVmq2ww47LOzAvtGjR4+wf/rTnw777bffHvYnn3yyaOvZs2d49uijjw57qTuylNWrV4f9//v//r+w9+vXr2j7v//3/4Znv/Wtb4V98eLFYT/uuOPCDgCQq0KhEPa//du/Dfv06dPDPmHChN2e6a+NGjUq7NHXgACllNrFPf7442H/7Gc/G/a+ffuG/bzzzgv7Sy+9FPYvfvGLRdvvfve78Gyp+7PUr626ujrs5c4T+QAAAAAAkDGLfAAAAAAAyJhFPgAAAAAAZMwiHwAAAAAAMmaRDwAAAAAAGbPIBwAAAACAjFnkAwAAAABAxipbegBiBx54YNg/8IEPhH3lypVhb2hoCHubNvG/6+nbt2/RNmvWrPBsly5dwg7sG1VVVWG/7rrrwn7KKaeE/dFHHy3a3njjjfDs73//+7CXusNKad++fdgvuOCCsH/+858v2rZt2xaeve2228IOsL8q9efSli1bwv7uu++Gvba2drdnAvatUt8HR1+DpZTSJz/5ybCX+j631Ndp7dq1CztAZMWKFWG/8sorw37EEUeE/bvf/W7Ye/fuHfZ169aF/cYbbyzaJk2aFJ49/vjjw/6pT30q7NXV1WEvd57IBwAAAACAjFnkAwAAAABAxizyAQAAAAAgYxb5AAAAAACQMYt8AAAAAADImEU+AAAAAABkzCIfAAAAAAAyVtnSAxBr0yb+dy39+/cP+9SpU8M+b968sB977LFhr6ioKNp69OgRngVah/bt24f95JNP3uO+bdu28OymTZvC3lSl7thSv/ZCoVC0lbpfgdZv69atYX/rrbf2qKWU0uLFi8O+YcOGsHfs2DHsOfvYxz4W9m984xthf+KJJ8J+/vnn7/ZMQF5GjhwZ9rFjx4b9D3/4Q9iPOuqo3Z4JYFdt3rw57CtXrgz7OeecE/ZSX2eW6qUMGzasaCv1PfSSJUvCvnr16rB37tw57OXOE/kAAAAAAJAxi3wAAAAAAMiYRT4AAAAAAGTMIh8AAAAAADJmkQ8AAAAAABmzyAcAAAAAgIxZ5AMAAAAAQMYqW3oAYoVCIewXXHBB2O+9996wL1iwIOzHHnts2AGaoqKiIuydOnXaR5Pse42NjWHfuHHjPpoEWq/f//73YZ80aVLYt27d2qTXX7lyZdjnzp1btK1bty48u2XLlrB36dIl7CNGjAh7zgYPHhz2Ul+fPvzww2EfM2ZM2KuqqsIOtLy2bduG/frrrw/7hg0bwn7wwQeHfc2aNWEHiHTu3Dns/fv3D/ttt90W9jvuuGN3R9ot27Zt22sfe/Xq1WHv27fvXnvt1sAT+QAAAAAAkDGLfAAAAAAAyJhFPgAAAAAAZMwiHwAAAAAAMmaRDwAAAAAAGbPIBwAAAACAjFnkAwAAAABAxipbegCa5n3ve1/Ya2trwz5//vzmHAeA/3HQQQeFvXPnzmH/wx/+EPbzzz9/d0eCsrNhw4awL168OOx1dXVNev2ampqwjx07tmg79thjw7MzZswI+29/+9uwl7qDctahQ4ewn3baaWGfOnVq2N95552wd+vWLezA3jd79uywP//882H/3Oc+F/YePXrs5kS7rlAohL2hoWGvvTbQOhx44IFhv+uuu8K+ZMmS5hynWZW646677rqwf/7znw/73XffHfbjjjsu7K2dJ/IBAAAAACBjFvkAAAAAAJAxi3wAAAAAAMiYRT4AAAAAAGTMIh8AAAAAADJmkQ8AAAAAABmzyAcAAAAAgIxVtvQANE1VVVXYu3TpEvbf/va3Yd+wYUPYO3XqFHaA/dUBBxwQ9oMOOijsW7dubc5xoCx97GMfC/usWbPC3tjY2KTXb9Mmfiam1NdpkT/+8Y9hL/U1XDk75JBDwr558+awl/r6tlu3brs9E9C8nnrqqbD/v//3/8L+6U9/Ouzt27ff7Zn+WseOHYu2ww8/PDw7b968sNfV1YW9KX+2AHkoFAph79u3b5N6ziZPnhz2888/P+wXXnhh2MeMGRP26P5OKaUjjzyyaBs5cmR4tql/tuwKT+QDAAAAAEDGLPIBAAAAACBjFvkAAAAAAJAxi3wAAAAAAMiYRT4AAAAAAGTMIh8AAAAAADJmkQ8AAAAAABmrbOkBaJqOHTuG/XOf+1zYv/jFL4Z9wYIFYR8yZEjY96bly5eH/YUXXgj7iBEjwl5VVbW7IwEA+1ChUAh7dXX1Pppk923bti3sS5cuDXuHDh3CXlFRsdsztRb9+/cP+7vvvhv2N954I+x9+/bd7ZmA5nXEEUeE/e233w57qTu0S5cuuz3TX4u+V3z/+98fnn3yySfDvnbt2rB37do17ABN1djYGPbojn3rrbfCsy+//HLY6+vrwz5v3rywd+rUKeyf//znw/7BD36waGvbtm14dl/wRD4AAAAAAGTMIh8AAAAAADJmkQ8AAAAAABmzyAcAAAAAgIxZ5AMAAAAAQMYs8gEAAAAAIGOVLT1AOVi9enXYH3300aLtYx/7WHi2W7duYS8UCmEv9fHbt28f9l/96ldhHzJkSNj3pgceeCDsEydODPvvfve7sHfv3n13RwIA2CX19fVhf+mll8J+1FFHhb2mpma3Z2ot2rSJn0VqbGwMe0NDQ3OOA+wFpX6flrpDt23b1pzj7JZzzjkn7Pfff3/Yf/nLX4b9H/7hH3Z3JNgvrVu3LuyPPPJI2Ddt2tSc42Tl1VdfDfsrr7wS9t///vdF24oVK8KzpfaYhx9+eNhvueWWsH/mM58Je9euXcOeO0/kAwAAAABAxizyAQAAAAAgYxb5AAAAAACQMYt8AAAAAADImEU+AAAAAABkzCIfAAAAAAAyZpEPAAAAAAAZq2zpAcrBkiVLwv7Vr361aPvud78bnu3WrdsezfQXPXr0CHvPnj3D/uqrr4a9oaGhaGvTpmn/nmj9+vVh/+Mf/9ikj9/U+QAA9tS2bdvCXl9fH/aqqqqwFwqF3Z6ptSj1a4++Pk0ppddeey3sI0eO3O2ZYH/Uvn37sPfp06do+9nPfhaefffdd8M+fPjwsB922GFh35s++MEPhv0DH/hA2J9//vmw/8M//MPujgT7pRUrVoT961//ethXrlzZnONkpXv37mHv0qVL2KOvlT7xiU+EZw888MCwH3HEEWGvqakJezl/DZySJ/IBAAAAACBrFvkAAAAAAJAxi3wAAAAAAMiYRT4AAAAAAGTMIh8AAAAAADJmkQ8AAAAAABmzyAcAAAAAgIxVtvQA5aB///5h//nPf160devWrbnHeY/q6uqwDxo0KOw//elPw965c+eiraamJjxbygsvvBD26dOnh/2aa64Je21t7W7PBNBcCoVC2Evd30DrtmzZsrC/8sorYR8zZkxzjtOq9OzZM+xdu3YN+5IlS5pzHNhvtW3bNuyf+9znirabb745PNunT5+wf+1rXwt79H3q3lbqtb/5zW+GvdTnFdg1hxxySNgfeOCBsG/btq0Zp8nLAQccEPaOHTuGvaKiomirrLRq3ps8kQ8AAAAAABmzyAcAAAAAgIxZ5AMAAAAAQMYs8gEAAAAAIGMW+QAAAAAAkDGLfAAAAAAAyJhFPgAAAAAAZKyypQcoB9XV1WHv06fPPppkR6Vm+9rXvhb2du3ahf2BBx4o2hobG8OzpdTU1IT9q1/9ativuOKKsFdW+scf2HtK3Z+XXnpp2IcOHdqc4wAtIPpa6Ne//nV4duvWrWE/8cQT92imcrB8+fKwv/3222Hv2bNnc44DFHHmmWcWbSeffHJ4tlAohL19+/Z7NNO+UGr2kSNH7qNJYP9WVVUV9ve///37aBJoPp7IBwAAAACAjFnkAwAAAABAxizyAQAAAAAgYxb5AAAAAACQMYt8AAAAAADImEU+AAAAAABkzCIfAAAAAAAyVmhsbGxs6SHIV319fdg3bNhQtDX1H62qqqqwd+zYMeyFQqFJrw8A0BSbNm0q2k455ZTwbPfu3cP+ox/9KOzV1dVhb81+8pOfhP38888P+6OPPhr2j33sY7s9EwAA7G2eyAcAAAAAgIxZ5AMAAAAAQMYs8gEAAAAAIGMW+QAAAAAAkDGLfAAAAAAAyJhFPgAAAAAAZMwiHwAAAAAAMlbZ0gOQt8rK+B+Rzp0775tBAABambfffrto+/Of/xye/dCHPhT26urqPZqpHBxzzDFhv+uuu8L+wQ9+sDnHAQCAfcIT+QAAAAAAkDGLfAAAAAAAyJhFPgAAAAAAZMwiHwAAAAAAMmaRDwAAAAAAGbPIBwAAAACAjFnkAwAAAABAxgqNjY2NLT0EAACUmzVr1hRtU6dODc+OGDEi7EOGDNmDiQAAgNbKE/kAAAAAAJAxi3wAAAAAAMiYRT4AAAAAAGTMIh8AAAAAADJmkQ8AAAAAABmzyAcAAAAAgIwVGhsbG1t6CAAAAAAAYOc8kQ8AAAAAABmzyAcAAAAAgIxZ5AMAAAAAQMYs8gEAAAAAIGMW+QAAAAAAkDGLfAAAAAAAyJhFPgAAAAAAZMwiHwAAAAAAMmaRDwAAAAAAGbPIBwAAAACAjFnkAwAAAABAxizyAQAAAAAgYxb5AAAAAACQMYt8AAAAAADImEU+AAAAAABkzCIfAAAAAAAyZpEPAAAAAAAZs8gHAAAAAICMWeQDAAAAAEDGLPIBAAAAACBjFvkAAAAAAJAxi3wAAAAAAMiYRT4AAAAAAGTMIh8AAAAAADJmkQ8AAAAAABmzyAcAAAAAgIxZ5AMAAAAAQMYs8gEAAAAAIGMW+QAAAAAAkDGLfAAAAAAAyJhFPgAAAAAAZMwiHwAAAAAAMmaRDwAAAAAAGbPIBwAAAACAjFnkAwAAAABAxizyAQAAAAAgYxb5AAAAAACQMYt8AAAAAADI2P/f3r2HaV3Xif9/33PgOJwUR0Xk5AEhWTER1DRQU/CQ4qZEZUqhbp5XIS1XUXdrFRU1NYU1U1ktNxHK1NW+Hmi1SDx8VTxAeCBL5aSCIGdmfn/0jV8u3K8bmIF5z/B4XFfX1TXPec/9EuXtPS8+gkU+AAAAAABkzCIfAAAAAAAyZpEPAAAAAAAZs8gHAAAAAICMWeQDAAAAAEDGLPIBAAAAACBjFvkAAAAAAJAxi/xGZM6cOalQKKTrrruu3r7m1KlTU6FQSFOnTq23rwmwJbgDgW2V+w/YlrkDgW2ZO5C/Z5G/hd11112pUCik559/vqFH2WLee++9NGzYsNS+ffvUtm3bdPzxx6e33367occCMtDU78BZs2alCy64IB100EGpRYsWqVAopDlz5jT0WEAGmvr9N3ny5PTVr3419ejRI7Vq1Sr17NkzjRo1Ki1atKihRwMy0NTvwClTpqTBgwenTp06pebNm6fOnTunE088Mb366qsNPRqQgaZ+B/5vRxxxRCoUCumcc85p6FGavIqGHoDGbenSpenQQw9NixcvTpdcckmqrKxMN9xwQxo4cGB66aWX0vbbb9/QIwJsMdOmTUs33XRT6t27d+rVq1d66aWXGnokgK3ijDPOSJ06dUonn3xy6tKlS5oxY0a65ZZb0iOPPJJefPHF1LJly4YeEWCLmTFjRurQoUM6//zzU8eOHdPcuXPTT3/609S/f/80bdq0tM8++zT0iABbxeTJk9O0adMaeoxthkU+dXLrrbem2bNnp+nTp6f9998/pZTSUUcdlfbee+80bty49O///u8NPCHAlnPcccelRYsWpTZt2qTrrrvOIh/YZkyaNCkNGjToMx/bb7/90qmnnpruvffedNpppzXMYABbwZgxY9b72GmnnZY6d+6cbrvttjR+/PgGmApg61qxYkUaNWpUuvjiizd4L1L//NY6GVi1alUaM2ZM2m+//VK7du1S69at0yGHHJKeeuqpomduuOGG1LVr19SyZcs0cODADf4nfDNnzkwnnnhi2m677VKLFi1Sv3790oMPPlhynmXLlqWZM2emhQsXlvzcSZMmpf3333/dEj+llPbaa690+OGHp1/84hclzwM05jtwu+22S23atCn5eQAb0pjvv/+9xE8ppRNOOCGllNIbb7xR8jxAY74DN6S6ujq1atXKbzEGbJSmcAdec801qaamJo0ePXqjz1A3FvkZ+OSTT9JPfvKTNGjQoDR27Nh0xRVXpAULFqTBgwdv8OnOiRMnpptuuimdffbZ6fvf/3569dVX02GHHZbmzZu37nNee+21dMABB6Q33ngjfe9730vjxo1LrVu3TkOHDk1TpkwJ55k+fXrq1atXuuWWW8LPq6mpSa+88krq16/feq1///7prbfeSkuWLNm4HwRgm9VY70CAumpq99/cuXNTSil17Nhxs84D25amcAcuWrQoLViwIM2YMSOddtpp6ZNPPkmHH374Rp8Htl2N/Q58991309VXX53Gjh3rt1TcivzWOhno0KFDmjNnTmrWrNm6j51++ulpr732SjfffHO64447PvP5b775Zpo9e3baZZddUkopDRkyJA0YMCCNHTs2XX/99SmllM4///zUpUuX9Nxzz6XmzZunlFI666yz0sEHH5wuvvjidU9M1cVHH32UVq5cmXbeeef12t8+9v7776eePXvW+bWApqux3oEAddXU7r+xY8em8vLydOKJJ26x1wCajqZwBx5wwAFp1qxZKaWUqqqq0qWXXppGjhxZr68BNE2N/Q4cNWpU2nfffdPw4cPr7WtSmifyM1BeXr7uJ25NTU366KOP0po1a1K/fv3Siy++uN7nDx06dN1P3JT++vT7gAED0iOPPJJS+uuC/cknn0zDhg1LS5YsSQsXLkwLFy5MH374YRo8eHCaPXt2eu+994rOM2jQoFRbW5uuuOKKcO7ly5enlNK6y+HvtWjR4jOfA1BMY70DAeqqKd1/P/vZz9Idd9yRRo0alfbYY49NPg9se5rCHXjnnXemRx99NN16662pV69eafny5Wnt2rUbfR7YdjXmO/Cpp55KDzzwQLrxxhs37S+aOvNEfibuvvvuNG7cuDRz5sy0evXqdR/v3r37ep+7oW+O9txzz3W/J/2bb76Zamtr02WXXZYuu+yyDb7e/PnzP3MBbI6//aczK1euXK+tWLHiM58DEGmMdyBAfWgK99/TTz+dRo4cmQYPHpx++MMf1uvXBpq2xn4HHnjggev+//Dhw1OvXr1SSildd9119fYaQNPVGO/ANWvWpPPOOy9985vf/Myfl8nWYZGfgXvuuSeNGDEiDR06NH33u99N1dXVqby8PF111VXprbfe2uSvV1NTk1JKafTo0Wnw4MEb/Jzdd9+9TjOn9Nc/5LF58+bpgw8+WK/97WOdOnWq8+sATVtjvQMB6qop3H8vv/xyOu6449Lee++dJk2alCoqfHsBbJymcAf+vQ4dOqTDDjss3XvvvRb5QEmN9Q6cOHFimjVrVpowYUKaM2fOZ9qSJUvSnDlz1v3h39Q/77QzMGnSpNSjR480efLkVCgU1n388ssv3+Dnz549e72P/fGPf0zdunVLKaXUo0ePlFJKlZWV6Utf+lL9D/z/lJWVpT59+qTnn39+vfbss8+mHj16pDZt2myx1weahsZ6BwLUVWO//9566600ZMiQVF1dnR555JFUVVW1xV8TaDoa+x24IcuXL0+LFy9ukNcGGpfGege+++67afXq1ekLX/jCem3ixIlp4sSJacqUKWno0KFbbIZtmd8jPwPl5eUppZRqa2vXfezZZ59N06ZN2+Dn//KXv/zM72s1ffr09Oyzz6ajjjoqpZRSdXV1GjRoUJowYcIGn5ZfsGBBOM+yZcvSzJkz08KFC0vOfuKJJ6bnnnvuM8v8WbNmpSeffDKddNJJJc8DNOY7EKAuGvP9N3fu3HTkkUemsrKy9Nhjj6Uddtih5BmAv9eY78D58+ev97E5c+akJ554IvXr16/keYDGegcOHz48TZkyZb3/pZTS0UcfnaZMmZIGDBgQfg02nyfyt5Kf/vSn6dFHH13v4+eff3469thj0+TJk9MJJ5yQjjnmmPTOO++k8ePHp969e6elS5eud2b33XdPBx98cDrzzDPTypUr04033pi23377dNFFF637nB//+Mfp4IMPTn369Emnn3566tGjR5o3b16aNm1a+stf/pJefvnlorNOnz49HXrooenyyy8v+YdcnHXWWen2229PxxxzTBo9enSqrKxM119/fdpxxx3TqFGjNv4HCGjSmuoduHjx4nTzzTenlFL63e9+l1JK6ZZbbknt27dP7du3T+ecc87G/PAATVhTvf+GDBmS3n777XTRRRelZ555Jj3zzDPr2o477piOOOKIjfjRAZq6pnoH9unTJx1++OGpb9++qUOHDmn27NnpjjvuSKtXr05XX331xv8AAU1aU7wD99prr7TXXnttsHXv3t2T+FuYRf5Wctttt23w4yNGjEgjRoxIc+fOTRMmTEiPPfZY6t27d7rnnnvS/fffn6ZOnbremVNOOSWVlZWlG2+8Mc2fPz/1798/3XLLLWnnnXde9zm9e/dOzz//fLryyivTXXfdlT788MNUXV2d9t133zRmzJh6++tq06ZNmjp1arrgggvSD37wg1RTU5MGDRqUbrjhBk9mAes01Tvw448/Xu8PEho3blxKKaWuXbta5ANN9v772zeC11xzzXpt4MCBFvlASqnp3oFnnnlmevjhh9Ojjz6alixZkqqrq9ORRx6ZLrnkktSnT596ex2gcWuqdyANp1D79/8NBwAAAAAAkBW/Rz4AAAAAAGTMIh8AAAAAADJmkQ8AAAAAABmzyAcAAAAAgIxZ5AMAAAAAQMYs8gEAAAAAIGMW+QAAAAAAkDGLfAAAAAAAyJhFPgAAAAAAZMwiHwAAAAAAMmaRDwAAAAAAGbPIBwAAAACAjFnkAwAAAABAxizyAQAAAAAgYxb5AAAAAACQMYt8AAAAAADImEU+AAAAAABkzCIfAAAAAAAyZpEPAAAAAAAZs8gHAAAAAICMWeQDAAAAAEDGLPIBAAAAACBjFvkAAAAAAJCxioYeAAAAqF9r1qwJ+xNPPBH2+fPnh33fffct2vbee+/wLAAAsOk8kQ8AAAAAABmzyAcAAAAAgIxZ5AMAAAAAQMYs8gEAAAAAIGMW+QAAAAAAkDGLfAAAAAAAyJhFPgAAAAAAZKxQW1tb29BD5G7NmjVhnzt37mafb9GiRXi2uro67GVlfi0G2LJqamrCXuqOrKysLNoKhcJmzQRAbNmyZWH/6le/GvbHHnss7Mcee2zRdt9994VnmzVrFnYAAGB9tsAAAAAAAJAxi3wAAAAAAMiYRT4AAAAAAGTMIh8AAAAAADJmkQ8AAAAAABmzyAcAAAAAgIwVamtraxt6iC2tpqYm7PPnzw/7xIkTw3777beHfcWKFUXbjjvuGJ698847w96nT5+wA9TVb37zm7D/5Cc/CftVV11VtO22226bNVN9KfXvh9dffz3sq1atKtr+4R/+ITxbUVERdiB/77//fthnzZpVtJW6/7p06bJZM/1Nqbf4c+fODfu9994b9quvvrpo+5//+Z/wbO/evcMOUOoOW7x4cdhXrlxZp9dv1apV2Nu0aVOnrw8Am8MT+QAAAAAAkDGLfAAAAAAAyJhFPgAAAAAAZMwiHwAAAAAAMmaRDwAAAAAAGbPIBwAAAACAjFnkAwAAAABAxioaeoD6MHv27LBPnjw57Pfcc0/Y586dG/aDDjoo7AMGDCjarr322vDsnDlzwt6nT5+wl7J48eKw/+lPfwp7jx49iraqqqrNmgnIywsvvBD2p59+Ouw1NTX1OU69WrZsWdhHjRoV9kWLFhVtv/nNb8Kz7dq1CzuQv8ceeyzsp59+etE2bNiw8Oxdd90V9mbNmoW9UCiEfeeddw57//79w75q1aqi7ZNPPgnPAv+/FStWbFarDy1btgx78+bNt+jrR2bNmhX26H5NqfT38KXss88+YZ8wYULRtv3229fptQGgGE/kAwAAAABAxizyAQAAAAAgYxb5AAAAAACQMYt8AAAAAADImEU+AAAAAABkzCIfAAAAAAAyZpEPAAAAAAAZq2joATZGTU1N2K+99tqw//KXvwz7kCFDwn7GGWeEvW/fvmH/4IMPirbbbrstPLtgwYKw19Vzzz0X9pNPPjnsF154YdF20UUXbdZMQOPSsWPHsO+www5baZJNt3DhwrC//vrrYW/fvn3RVltbuzkjAY3IscceG/bzzjuvaLv//vvDs/Pnzw97586dw15X3bp1C3ubNm2KthkzZoRnDzjggM0ZCZqk8ePHF2133nnnFn3tww47LOw//OEPw96qVav6HOcznnnmmbC/8sorYT/zzDPD/l//9V9h39LfhwPA5vBEPgAAAAAAZMwiHwAAAAAAMmaRDwAAAAAAGbPIBwAAAACAjFnkAwAAAABAxizyAQAAAAAgYxb5AAAAAACQsYqGHmBjlJXFv95wwQUXhP2ss84Ke69evcLevHnzsJey4447Fm077bRTePaNN96o02uX0qdPn7DvscceYX/88ceLtnPPPTc827Jly7ADbGnTp08P+7x588K+3Xbb1ec4QCOzww47hH3fffct2v7zP/8zPLtq1arNmqm+RO9fU0qpZ8+eRdszzzwTnh05cmTYS733h6Zkn332KdqGDx8enr333nvD/u6774b9nnvuCXupe+C8884Le6tWrYq2jz76KDx7//33h/3AAw8M+6hRo8L+29/+Nuz77bdf2LfffvuwA8CW4F0yAAAAAABkzCIfAAAAAAAyZpEPAAAAAAAZs8gHAAAAAICMWeQDAAAAAEDGLPIBAAAAACBjFvkAAAAAAJCxioYeoD706tWroUcIlZUV//WSior4b0FtbW19j/MZ1dXVYT/ssMPCPnny5KJt5cqV4dmWLVuGHaCu5s+fH/bx48eHffXq1WHfY489irbWrVuHZ4Gmr9T7vMiaNWvqcZJNV1lZGfaqqqqi7eOPP67vcaDJOvTQQ4u2gQMHhmdffPHFsHfv3j3sBx54YNhvuOGGsC9dujTsV1xxRdH23HPPhWd///vfh/1f//Vfw+57TaApK7UrLNWjPSV583cOAAAAAAAyZpEPAAAAAAAZs8gHAAAAAICMWeQDAAAAAEDGLPIBAAAAACBjFvkAAAAAAJAx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7b///uuW+CmltNdee6XDDz88/eIXvyh5HqAx34HbbbddatOmTcnPA9iQxnz//e8lfkopnXDCCSmllN54442S5wEa8x24IdXV1alVq1Z+izFgozSFO/Caa65JNTU1afTo0Rt9hrqxyM/AJ598kn7yk5+kQYMGpbFjx6YrrrgiLViwIA0ePHiDT3dOnDgx3XTTTenss89O3//+99Orr76aDjvssDRv3rx1n/Paa6+lAw44IL3xxhvpe9/7Xho3blxq3bp1Gjp0aJoyZUo4z/Tp01OvXr3SLbfcEn5eTU1NeuWVV1K/fv3Wa/37909vvfVWWrJkycb9IADbrMZ6BwLUVVO7/+bOnZtSSqljx46bdR7YtjSFO3DRokVpwYIFacaMGem0005Ln3zySTr88MM3+jyw7Wrsd+C7776brr766jR27Fi/peJW5LfWyUCHDh3SnDlzUrNmzdZ97PTTT0977bVXuvnmm9Mdd9zxmc9/88030+zZs9Muu+ySUkppyJAhacCAAWns2LHp+uuvTymldP7556cuXbqk5557LjVv3jyllNJZZ52VDj744HTxxReve2KqLj766KO0cuXKtPPOO6/X/vax999/P/Xs2bPOrwU0XY31DgSoq6Z2/40dOzaVl5enE088cYu9BtB0NIU78IADDkizZs1KKaVUVVWVLr300jRy5Mh6fQ2gaWrsd+CoUaPSvvvum4YPH15vX5PSPJGfgfLy8nU/cWtqatJHH32U1qxZk/r165defPHF9T5/6NCh637ipvTXp98HDBiQHnnkkZTSXxfsTz75ZBo2bFhasmRJWrhwYVq4cGH68MMP0+DBg9Ps2bPTe++9V3SeQYMGpdra2nTFFVeEcy9fvjyllNZdDn+vRYsWn/kcgGIa6x0IUFdN6f772c9+lu644440atSotMcee2zyeWDb0xTuwDvvvDM9+uij6dZbb029evVKy5cvT2vXrt3o88C2qzHfgU899VR64IEH0o033rhpf9HUmSfyM3H33XencePGpZkzZ6bVq1ev+3j37t3X+9wNfXO05557rvs96d98881UW1ubLrvssnTZZZdt8PXmz5//mQtgc/ztP51ZuXLlem3FihWf+RyASGO8AwHqQ1O4/55++uk0cuTINHjw4PTDH/6wXr820LQ19jvwwAMPXPf/hw8fnnr16pVSSum6666rt9cAmq7GeAeuWbMmnXfeeemb3/zmZ/68TLYOi/wM3HPPPWnEiBFp6NCh6bvf/W6qrq5O5eXl6aqrrkpvvfXWJn+9mpqalFJKo0ePToMHD97g5+y+++51mjmlv/4hj82bN08ffPDBeu1vH+vUqVOdXwdo2hrrHQhQV03h/nv55ZfTcccdl/bee+80adKkVFHh2wtg4zSFO/DvdejQIR122GHp3nvvtcgHSmqsd+DEiRPTrFmz0oQJE9KcOXM+05YsWZLmzJmz7g//pv55p52BSZMmpR49eqTJkyenQqGw7uOXX375Bj9/9uzZ633sj3/8Y+rWrVtKKaUePXqklFKqrKxMX/rSl+p/4P+nrKws9enTJz3//PPrtWeffTb16NEjtWnTZou9PtA0NNY7EKCuGvv999Zbb6UhQ4ak6urq9Mgjj6Sqqqot/ppA09HY78ANWb58eVq8eHGDvDbQuDTWO/Ddd99Nq1evTl/4whfWaxMnTkwTJ05MU6ZMSUOHDt1iM2zL/B75GSgvL08ppVRbW7vuY88++2yaNm3aBj//l7/85Wd+X6vp06enZ599Nh111FEppZSqq6vToEGD0oQJEzb4tPyCBQvCeZYtW5ZmzpyZFi5cWHL2E088MT333HOfWebPmjUrPfnkk+mkk04qeR6gMd+BAHXRmO+/uXPnpiOPPDKVlZWlxx57LO2www4lzwD8vcZ8B86fP3+9j82ZMyc98cQTqV+/fiXPAzTWO3D48OFpypQp6/0vpZSOPvroNGXKlDRgwIDwa7D5PJG/lfz0pz9Njz766HofP//889Oxxx6bJk+enE444YR0zDHHpHfeeSeNHz8+9e7dOy1dunS9M7vvvns6+OCD05lnnplWrlyZbrzxxrT99tuniy66aN3n/PjHP04HH3xw6tOnTzr99NNTjx490rx589K0adPSX/7yl/Tyyy8XnXX69Onp0EMPTZdffnnJP+TirLPOSrfffns65phj0ujRo1NlZWW6/vrr04477phGjRq18T9AQJPWVO/AxYsXp5tvvjmllNLvfve7lFJKt9xyS2rfvn1q3759Ouecczbmhwdowprq/TdkyJD09ttvp4suuig988wz6ZlnnlnXdtxxx3TEEUdsxI8O0NQ11TuwT58+6fDDD099+/ZNHTp0SLNnz0533HFHWr16dbr66qs3/gcIaNKa4h241157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GjhwYHrppZfS9ttv39AjAmwx06ZNSzfddFPq3bt36tWrV3rppZcaeiSAreKMM85InTp1SieffHLq0qVLmjFjRrrlllvSI488kl588cXUsmXLhh4RYIuZMWNG6tChQzr//PNTx44d09y5c9NPf/rT1L9//zRt2rS0zz77NPSIAFvF5MmT07Rp0xp6jG2GRT51cuutt6bZs2en6dOnp/333z+llNJRRx2V9t577zRu3Lj07//+7w08IcCWc9xxx6VFixalNm3apOuuu84iH9hmTJo0KQ0aNOgzH9tvv/3Sqaeemu6999502mmnNcxgAFvBmDFj1vvYaaedljp37pxuu+22NH78+AaYCmDrWrFiRRo1alS6+OKLN3gvUv/81joZWLVqVRozZkzab7/9Urt27VLr1q3TIYcckp566qmiZ2644YbUtWvX1LJlyzRw4MAN/id8M2fOTCeeeGLabrvtUosWLVK/fv3Sgw8+WHKeZcuWpZkzZ6aFCxeW/NxJkyal/ffff90SP6WU9tprr3T44YenX/ziFyXPAzTmO3C77bZLbdq0Kfl5ABvSmO+//73ETymlE044IaWU0htvvFHyPEBjvgM3pLq6OrVq1cpvMQZslKZwB15zzTWppqYmjR49eqPPUDcW+Rn45JNP0k9+8pM0aNCgNHbs2HTFFVekBQsWpMGDB2/w6c6JEyemm266KZ199tnp+9//fnr11VfTYYcdlubNm7fuc1577bV0wAEHpDfeeCN973vfS+PGjUutW7dOQ4cOTVOmTAnnmT59eurVq1e65ZZbws+rqalJr7zySurXr996rX///umtt95KS5Ys2bgfBGCb1VjvQIC6amr339y5c1NKKXXs2HGzzgPblqZwBy5atCgtWLAgzZgxI5122mnpk08+SYcffvhGnwe2XY39Dnz33XfT1VdfncaOHeu3VNyK/NY6GejQoUOaM2dOatas2bqPnX766WmvvfZKN998c7rjjjs+8/lvvvlmmj17dtpll11SSikNGTIkDRgwII0dOzZdf/31KaWUzj///NSlS5f03HPPpebNm6eUUjrrrLPSwQcfnC6++OJ1T0zVxUcffZRWrlyZdt555/Xa3z72/vvvp549e9b5tYCmq7HegQB11dTuv7Fjx6by8vJ04oknbrHXAJqOpnAHHnDAAWnWrFkppZSqqqrSpZdemkaOHFmvrwE0TY39Dhw1alTad9990/Dhw+vta1KaJ/IzUF5evu4nbk1NTfroo4/SmjVrUr9+/dKLL7643ucPHTp03U/clP769PuAAQPSI488klL664L9ySefTMOGDUtLlixJCxcuTAsXLkwffvhhGjx4cJo9e3Z67733is4zaNCgVFtbm6644opw7uXLl6eU0rrL4e+1aNHiM58DUExjvQMB6qop3X8/+9nP0h133JFGjRqV9thjj00+D2x7msIdeOedd6ZHH3003XrrralXr15p+fLlae3atRt9Hth2NeY78KmnnkoPPPBAuvHGGzftL5o680R+Ju6+++40bty4NHPmzLR69ep1H+/evft6n7uhb4723HPPdb8n/Ztvvplqa2vTZZddli677LINvt78+fM/cwFsjr/9pzMrV65cr61YseIznwMQaYx3IEB9aAr339NPP51GjhyZBg8enH74wx/W69cGmrbGfgceeOCB6/7/8OHDU69evVJKKV133XX19hpA09UY78A1a9ak8847L33zm9/8zJ+XydZhkZ+Be+65J40YMSINHTo0ffe7303V1dWpvLw8XXXVVemtt97a5K9XU1OTUkpp9OjRafDgwRv8nN13371OM6f01z/ksXnz5umDDz5Yr/3tY506darz6wBNW2O9AwHqqincfy+//HI67rjj0t57750mTZqUKip8ewFsnKZwB/69Dh06pMMOOyzde++9FvlASY31Dpw4cWKaNWtWmjBhQpozZ85n2pIlS9KcOXPW/eHf1D/vtDMwadKk1KNHjzR58uRUKBTWffzyyy/f4OfPnj17vY/98Y9/TN26dUsppdSjR4+UUkqVlZXpS1/6Uv0P/P+UlZWlPn36pOeff3699uyzz6YePXqkNm3abLHXB5qGxnoHAtRVY7//3nrrrTRkyJBUXV2dHnnkkVRVVbXFXxNoOhr7Hbghy5cvT4sXL26Q1wYal8Z6B7777rtp9erV6Qtf+MJ6beLEiWnixIlpypQpaejQoVtshm2Z3yM/A+Xl5SmllGpra9d97Nlnn03Tpk3b4Of/8pe//MzvazV9+vT07LPPpqOOOiqllFJ1dXUaNGhQmjBhwgafll+wYEE4z7Jly9LMmTPTwoULS85+4oknpueee+4zy/xZs2alJ598Mp100kklzwM05jsQoC4a8/03d+7cdOSRR6aysrL02GOPpR122KHkGYC/15jvwPnz56/3sTlz5qQnnngi9evXr+R5gMZ6Bw4fPjxNmTJlvf+llNLRRx+dpkyZkgYMGBB+DTafJ/K3kp/+9Kfp0UcfXe/j559/fjr22GPT5MmT0wknnJCOOeaY9M4776Tx48en3r17p6VLl653Zvfdd08HH3xwOvPMM9PKlSvTjTfemLbffvt00UUXrfucH//4x+nggw9Offr0Saeffnrq0aNHmjdvXpo2bVr6y1/+kl5++eWis06fPj0deuih6fLLLy/5h1ycddZZ6fbbb0/HHHNMGj16dKqsrEzXX3992nHHHdOoUaM2/gcIaNKa6h24ePHidPPNN6eUUvrd736XUkrplltuSe3bt0/t27dP55xzzsb88ABNWFO9/4YMGZLefvvtdNFFF6VnnnkmPfPMM+vajjvumI444oiN+NEBmrqmegf26dMnHX744alv376pQ4cOafbs2emOO+5Iq1evTldfffXG/wABTVpTvAP32muvtNdee22wde/e3ZP4W5hF/lZy2223bfDjI0aMSCNGjEhz585NEyZMSI899ljq3bt3uueee9L999+fpk6dut6ZU045JZWVlaUbb7wxzZ8/P/Xv3z/dcsstaeedd173Ob17907PP/98uvLKK9Ndd92VPvzww1RdXZ323XffNGbMmHr762rTpk2aOnVquuCCC9IPfvCDVFNTkwYNGpRuuOEGT2YB6zTVO/Djjz9e7w8SGjduXEoppa5du1rkA032/vvbN4LXXHPNem3gwIEW+UBKqenegWeeeWZ6+OGH06OPPpqWLFmSqqur05FHHpkuueSS1KdPn3p7HaBxa6p3IA2nUPv3/w0HAAAAAACQFb9HPgAAAAAAZMwiHwAAAAAAMmaRDwAAAAAAGbPIBwAAAACAjFnkAwAAAABAxizyAQAAAAAgYxb5AAAAAACQMYt8AAAAAADImEU+AAAAAABkzCIfAAAAAAAyZpEPAAAAAAAZs8gHAAAAAICMWeQDAAAAAEDGLPIBAAAAACBjFvkAAAAAAJCxioYeAAAAaDpqa2vD/umnn9bp67du3TrshUKhTl8fAABy5Il8AAAAAADImEU+AAAAAABkzCIfAAAAAAAyZpEPAAAAAAAZs8gHAAAAAICMWeQDAAAAAEDGLPIBAAAAACBjhdra2tqGHgIAAGgali9fHvZ/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",
      "text/plain": [
       "<Figure size 2000x2000 with 30 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABiIAAAV0CAYAAABaHQXMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB8oklEQVR4nOzde5jWdZ0//tfNDDAcRjmOioSKqEjiEfFEK4qKWikWmu1v22w97KIuZqCmpei3byXm6VJM2Twtq+21xYJpGeqqtFl4yiJRQTwQeUBA5CSnGWZ+f/Rddl3Jz9tm3twz9zwe19V1dQ3Pec7bUd4z9/2cG0pNTU1NAQAAAAAAkEGHch8AAAAAAACoXIYIAAAAAAAgG0MEAAAAAACQjSECAAAAAADIxhABAAAAAABkY4gAAAAAAACyMUQAAAAAAADZGCIAAAAAAIBsDBEAAAAAAEA2hggiImLRokVRKpXi2muvbbHO2bNnR6lUitmzZ7dYJ0AO7kCgPXMHAu2ZOxBor9x/bGuGiDbs7rvvjlKpFM8++2y5j5LNm2++Gaeddlr06NEjtttuuzj55JPjtddeK/exgFag0u/ABQsWxIUXXhiHH3541NTURKlUikWLFpX7WEArUel34IwZM+ILX/hCDBw4MLp27Rp77bVXTJgwIVauXFnuowGtQKXfgTNnzozRo0dHv379onPnztG/f/8YO3ZszJs3r9xHA8qs0u+//+3YY4+NUqkU559/frmPQguoLvcB4M9Zu3ZtHHXUUbFq1aq47LLLomPHjnHDDTfEkUceGb/73e+id+/e5T4iQDZz5syJm266KYYMGRJ77713/O53vyv3kQC2mXPOOSf69esXf/M3fxMDBgyI559/PqZMmRIPPvhgPPfcc9GlS5dyHxEgm+effz569uwZF1xwQfTp0yeWLFkSd955ZwwfPjzmzJkT++23X7mPCJDdjBkzYs6cOeU+Bi3IEEGr9f3vfz8WLlwYTz/9dBx88MEREXHCCSfEPvvsE9ddd1185zvfKfMJAfI56aSTYuXKlVFbWxvXXnutIQJoV6ZPnx4jR478wNsOOuig+PKXvxz33ntvnHXWWeU5GMA2cMUVV3zobWeddVb0798/br311rjtttvKcCqAbWfDhg0xYcKEuOSSS7Z6J9I2+aOZKtymTZviiiuuiIMOOii233776NatW3zqU5+Kxx9//M++zw033BC77LJLdOnSJY488sitvvxz/vz5MXbs2OjVq1fU1NTEsGHD4v777y88z7p162L+/PmxfPnywuz06dPj4IMP3jJCREQMHjw4Ro0aFT/60Y8K3x+gLd+BvXr1itra2sIcwJ/Tlu/A/z1CRESccsopERHx0ksvFb4/QFu+A7emrq4uunbt6o+oAwpVwv13zTXXRGNjY0ycODH5fWj9DBEVbvXq1XH77bfHyJEjY/LkyXHllVfGsmXLYvTo0Vv96dpp06bFTTfdFOedd15ceumlMW/evDj66KPjnXfe2ZJ54YUX4tBDD42XXnopvv71r8d1110X3bp1izFjxsTMmTM/8jxPP/107L333jFlypSPzDU2Nsbvf//7GDZs2Id+bfjw4fHqq6/GmjVr0j4JQLvVVu9AgJZQaXfgkiVLIiKiT58+f9H7A+1LJdyBK1eujGXLlsXzzz8fZ511VqxevTpGjRqV/P5A+9TW77/FixfH1VdfHZMnT/bHcVYYfzRThevZs2csWrQoOnXqtOVtZ599dgwePDhuvvnmuOOOOz6Qf+WVV2LhwoWx8847R0TE8ccfH4ccckhMnjw5rr/++oiIuOCCC2LAgAHxzDPPROfOnSMi4txzz40RI0bEJZdcsuWn1ZpjxYoVsXHjxthpp50+9Gv/9ba33nor9tprr2Z/LKBytdU7EKAlVNodOHny5KiqqoqxY8dm+xhA5aiEO/DQQw+NBQsWRERE9+7d45vf/GaceeaZLfoxgMrT1u+/CRMmxAEHHBCnn356i3XSOnhFRIWrqqracvE0NjbGihUroqGhIYYNGxbPPffch/JjxozZcvFE/OnVB4ccckg8+OCDEfGngeCxxx6L0047LdasWRPLly+P5cuXx7vvvhujR4+OhQsXxptvvvlnzzNy5MhoamqKK6+88iPPvX79+oiILZfb/1RTU/OBDMCf01bvQICWUEl34A9/+MO44447YsKECbHHHnt87PcH2p9KuAPvuuuumDVrVnz/+9+PvffeO9avXx+bN29Ofn+gfWrL99/jjz8e//7v/x433njjx/uHpk3wioh24J//+Z/juuuui/nz50d9ff2Wt++2224fym7tgd2ee+655e9keOWVV6KpqSkuv/zyuPzyy7f68ZYuXfqBC+wv8V8vvdq4ceOHfm3Dhg0fyAB8lLZ4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IgAAAAAAgGwMEQAAAAAAQDaGCAAAAAAAIBtDBAAAAAAAkI0hAgAAAAAAyMYQAQAAAAAAZGOIAAAAAAAAsjFEAAAAAAAA2RgiAAAAAACAbAwRAAAAAABANoYIAAAAAAAgG0MEAAAAAACQjSECAAAAAADIxhABAAAAAABkY4gAAAAAAACyMUQAAAAAAADZGCIAAAAAAIBsDBEAAAAAAEA2hggAAAAAACAbQwQAAAAAAJCNIQIAAAAAAMjGEAEAAAAAAGRjiAAAAAAAALIxRAAAAAAAANkYIgAAAAAAgGwMEQAAAAAAQDaGCAAAAAAAIBtDBAAAAAAAkI0hAgAAAAAAyMYQAQAAAAAAZGOIAAAAAAAAsjFEAAAAAAAA2RgiAAAAAACAbAwRAAAAAABANoYIAAAAAAAgG0MEAAAAAACQjSECAAAAAADIxhABAAAAAABkY4gAAAAAAACyMUQAAAAAAADZGCIAAAAAAIBsDBEAAAAAAEA2hggAAAAAACAbQwQAAAAAAJCNIQIAAAAAAMjGEAEAAAAAAGRjiAAAAAAAALIxRAAAAAAAANkYIgAAAAAAgGwMEQAAAAAAQDaGCAAAAAAAIBtDBAAAAAAAkI0hAgAAAAAAyMYQAQAAAAAAZGOIAAAAAAAAsjFEAAAAAAAA2RgiAAAAAACAbAwRAAAAAABANoYIAAAAAAAgG0MEAAAAAACQjSECAAAAAADIxhABAAAAAABkY4gAAAAAAACyMUQAAAAAAADZGCIAAAAAAIBsDBEAAAAAAEA2hggAAAAAACAbQwQAAAAAAJCNIQIAAAAAAMjGEAEAAAAAAGRjiAAAAAAAALIxRAAAAAAAANkYIgAAAAAAgGwMEQAAAAAAQDaGCAAAAAAAIBtDBAAAAAAAkI0hAgAAAAAAyMYQAQAAAAAAZGOIAAAAAAAAsjFEAAAAAAAA2RgiAAAAAACAbAwRAAAAAABANoYIAAAAAAAgG0MEAAAAAACQjSECAAAAAADIxhABAAAAAABkY4gAAAAAAACyMUQAAAAAAADZGCIAAAAAAIBsDBEAAAAAAEA2hggAAAAAACAbQwQAAAAAAJCNIQIAAAAAAMjGEAEAAAAAAGRjiAAAAAAAALIxRAAAAAAAANkYIgAAAAAAgGwMEQAAAAAAQDaGCAAAAAAAIBtDBAAAAAAAkI0hAgAAAAAAyMYQAQAAAAAAZGOIAAAAAAAAsjFEAAAAAAAA2RgiAAAAAACAbAwRAAAAAABANoYIAAAAAAAgG0MEAAAAAACQjSECAAAAAADIxhABAAAAAABkY4gAAAAAAACyMUQAAAAAAADZGCIAAAAAAIBsDBEAAAAAAEA2hggAAAAAACAbQwQAAAAAAJCNIQIAAAAAAMjGEAEAAAAAAGRjiAAAAAAAALIxRAAAAAAAANkYIgAAAAAAgGwMEQAAAAAAQDaGCAAAAAAAIBtDBAAAAAAAkI0hAgAAAAAAyMYQAQAAAAAAZGOIAAAAAAAAsjFEAAAAAAAA2RgiAAAAAACAbAwRAAAAAABANoYIAAAAAAAgG0MEAAAAAACQjSECAAAAAADIxhABAAAAAABkY4gAAAAAAACyMUQAAAAAAADZGCIAAAAAAIBsDBEAAAAAAEA2hggAAAAAACAbQwQAAAAAAJCNIQIAAAAAAMjGEAEAAAAAAGRjiAAAAAAAALIxRAAAAAAAANkYIgAAAAAAgGwMEQAAAAAAQDaGCAAAAAAAIBtDBAAAAAAAkI0hAgAAAAAAyMYQAQAAAAAAZGOIAAAAAAAAsjFEAAAAAAAA2RgiAAAAAACAbAwRAAAAAABANoYIAAAAAAAgG0MEAAAAAACQjSECAAAAAADIxhABAAAAAABkY4gAAAAAAACyMUQAAAAAAADZGCIAAAAAAIBsDBEAAAAAAEA2hggAAAAAACAbQwQAAAAAAJCNIQIAAAAAAMjGEAEAAAAAAGRjiAAAAAAAALIxRAAAAAAAANkYIgAAAAAAgGwMEQAAAAAAQDaGCAAAAAAAIBtDBAAAAAAAkI0hAgAAAAAAyMYQAQAAAAAAZGOIAAAAAAAAsjFEAAAAAAAA2RgiAAAAAACAbAwRAAAAAABANoYIAAAAAAAgG0MEAAAAAACQjSECAAAAAADIxhABAAAAAABkY4gAAAAAAACyMUQAAAAAAADZGCIAAAAAAIBsDBEAAAAAAEA2hggAAAAAACAbQwQAAAAAAJCNIQIAAAAAAMjGEAEAAAAAAGRjiAAAAAAAALIxRBAREYsWLYpSqRTXXntti3XOnj07SqVSzJ49u8U6AXJwBwLtmTsQaM/cgUB75f5jWzNEtGF33313lEqlePbZZ8t9lG3i2GOPjVKpFOeff365jwK0ApV+By5YsCAuvPDCOPzww6OmpiZKpVIsWrSo3McCWolKvwNnzJgRX/jCF2LgwIHRtWvX2GuvvWLChAmxcuXKch8NaAUq/Q6cOXNmjB49Ovr16xedO3eO/v37x9ixY2PevHnlPhpQZpV+//1vngusLNXlPgCkmDFjRsyZM6fcxwDYZubMmRM33XRTDBkyJPbee+/43e9+V+4jAWwz55xzTvTr1y/+5m/+JgYMGBDPP/98TJkyJR588MF47rnnokuXLuU+IkA2zz//fPTs2TMuuOCC6NOnTyxZsiTuvPPOGD58eMyZMyf222+/ch8RIDvPBVYeQwSt3oYNG2LChAlxySWXxBVXXFHu4wBsEyeddFKsXLkyamtr49prrzVEAO3K9OnTY+TIkR9420EHHRRf/vKX4957742zzjqrPAcD2Aa29rj3rLPOiv79+8ett94at912WxlOBbDteC6wMvmjmSrcpk2b4oorroiDDjoott9+++jWrVt86lOfiscff/zPvs8NN9wQu+yyS3Tp0iWOPPLIrb78c/78+TF27Njo1atX1NTUxLBhw+L+++8vPM+6deti/vz5sXz58uR/hmuuuSYaGxtj4sSJye8DENG278BevXpFbW1tYQ7gz2nLd+D/HiEiIk455ZSIiHjppZcK3x+gLd+BW1NXVxddu3b1R9QBhSrh/vNcYGUyRFS41atXx+233x4jR46MyZMnx5VXXhnLli2L0aNHb/Wna6dNmxY33XRTnHfeeXHppZfGvHnz4uijj4533nlnS+aFF16IQw89NF566aX4+te/Htddd11069YtxowZEzNnzvzI8zz99NOx9957x5QpU5LOv3jx4rj66qtj8uTJXoIPfGxt/Q4EaI5KuwOXLFkSERF9+vT5i94faF8q4Q5cuXJlLFu2LJ5//vk466yzYvXq1TFq1Kjk9wfap7Z+/3kusHL5o5kqXM+ePWPRokXRqVOnLW87++yzY/DgwXHzzTfHHXfc8YH8K6+8EgsXLoydd945IiKOP/74OOSQQ2Ly5Mlx/fXXR0TEBRdcEAMGDIhnnnkmOnfuHBER5557bowYMSIuueSSLT+t1hImTJgQBxxwQJx++ukt1gm0H239DgRojkq7AydPnhxVVVUxduzYbB8DqByVcAceeuihsWDBgoiI6N69e3zzm9+MM888s0U/BlB52vr957nAyuUVERWuqqpqy8XT2NgYK1asiIaG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EQAAAAAAQDaKCAAAAAAAIBtFBAAAAAAAkI0iAgAAAAAAyEYRAQAAAAAAZKOIAAAAAAAAslFEAAAAAAAA2SgiAAAAAACAbBQRAAAAAABANooIAAAAAAAgG0UEAAAAAACQjSICAAAAAADIRhEBAAAAAABko4gAAAAAAACyUUQAAAAAAADZKCIAAAAAAIBsFBEAAAAAAEA2iggAAAAAACAbRQQAAAAAAJCNIgIAAAAAAMhGEQEAAAAAAGSjiAAAAAAAALJRRAAAAAAAANkoIgAAAAAAgGwUEQAAAAAAQDaKCAAAAAAAIBtFBAAAAAAAkI0iAgAAAAAAyEYRAQAAAAAAZKOIAAAAAAAAslFEAAAAAAAA2SgiAAAAAACAbBQRAAAAAABANooIAAAAAAAgG0UEAAAAAACQjSICAAAAAADIRhEBAAAAAABko4gAAAAAAACyUUQAAAAAAADZKCIAAAAAAIBsFBEAAAAAAEA2iggAAAAAACAbRQQAAAAAAJCNIgIAAAAAAMhGEQEAAAAAAGSjiAAAAAAAALJRRAAAAAAAANkoIgAAAAAAgGwUEQAAAAAAQDaKCAAAAAAAIBtFBAAAAAAAkI0iAgAAAAAAyEYRAQAAAAAAZKOIAAAAAAAAslFEAAAAAAAA2SgiAAAAAACAbBQRAAAAAABANooIAAAAAAAgG0UEAAAAAACQjSICAAAAAADIRhEBAAAAAABko4gAAAAAAACyUUQAAAAAAADZKCIAAAAAAIBsFBEAAAAAAEA2iggAAAAAACAbRQQAAAAAAJCNIgIAAAAAAMhGEQEAAAAAAGSjiAAAAAAAALJRRAAAAAAAANkoIgAAAAAAgGwUEQAAAAAAQDaKCAAAAAAAIBtFBAAAAAAAkI0iAgAAAAAAyEYRAQAAAAAAZKOIAAAAAAAAslFEAAAAAAAA2SgiAAAAAACAbBQRAAAAAABANooIAAAAAAAgG0UEAAAAAACQjSICAAAAAADIRhEBAAAAAABko4gAAAAAAACyUUQAAAAAAADZKCIAAAAAAIBsFBEAAAAAAEA2iggAAAAAACAbRQQAAAAAAJCNIgIAAAAAAMhGEQEAAAAAAGSjiAAAAAAAALJRRAAAAAAAANkoIgAAAAAAgGwUEQAAAAAAQDaKCAAAAAAAIBtFBAAAAAAAkI0iAgAAAAAAyEYRAQAAAAAAZKOIAAAAAAAAslFEAAAAAAAA2SgiAAAAAACAbBQRAAAAAABANooIAAAAAAAgG0UEAAAAAACQjSICAAAAAADIRhEBAAAAAABko4gAAAAAAACyUUQAAAAAAADZKCIAAAAAAIBsFBEAAAAAAEA2iggAAAAAACAbRQQAAAAAAJCNIgIAAAAAAMhGEQEAAAAAAGSjiAAAAAAAALJRRAAAAAAAANkoIgAAAAAAgGwUEQAAAAAAQDaKCAAAAAAAIBtFBAAAAAAAkI0iAgAAAAAAyEYRAQAAAAAAZKOIAAAAAAAAslFEAAAAAAAA2SgiAAAAAACAbBQRAAAAAABANooIAAAAAAAgG0UEAAAAAACQjSICAAAAAADIRhEBAAAAAABko4gAAAAAAACyUUQAAAAAAADZKCIAAAAAAIBsFBEAAAAAAEA2iggAAAAAACAbRQQAAAAAAJCNIgIAAAAAAMhGEUFERCxfvjzKysrixhtvbLKZixYtirKysli0aFGTzQTIwRkI7MmcgcCezBkI7Kmcf+xuiogW7K677oqysrJ46qmnSr1KNq+88kqMGjUq9tlnn9h7773jb/7mb+Lll18u9VpAM9Daz8ClS5fG5ZdfHsccc0zU1NREWVlZLF++vNRrAc1Eaz8D582bF6NHj44ePXpEbW1t9OrVK8aPHx/r1q0r9WpAM9Daz8D58+fHsGHDokuXLlFdXR1du3aNkSNHxnPPPVfq1YASa+3n3/920kknRVlZWYwbN67Uq9AEKku9AHyQDRs2xPHHHx9vvfVWfO1rX4uqqqq4+eab47jjjotf//rXse+++5Z6RYBsFi9eHNOmTYu+fftGnz594te//nWpVwLYbb74xS9Gly5d4uyzz45u3brFs88+G9OnT48FCxbEM888E23atCn1igDZPPvss9GhQ4e49NJLY7/99ouVK1fGnXfeGUcddVQsXrw4PvGJT5R6RYDs5s2bF4sXLy71GjQhRQTN1m233Rb19fXxxBNPxJFHHhkREZ/5zGeiX79+MWXKlPjWt75V4g0B8jn99NNj3bp10a5du7jxxhsVEcAe5d57740hQ4a857aBAwfGueeeG/fcc0+cf/75pVkMYDeYMGHCLredf/750bVr17j99ttjxowZJdgKYPfZvHlzjB8/Pq666qr3PRNpmfzTTK3cu+++GxMmTIiBAwdG+/bto23btvGpT30qHn744Q+8z8033xwHH3xwtGnTJo477rj3vfxzyZIlMXLkyOjYsWPU1NTEoEGD4ic/+UnhPhs3bowlS5bEmjVrCrP33ntvHHnkkTtLiIiI3r17x9ChQ2Pu3LmF9wdoyWdgx44do127doU5gA/Sks/A/11CREScccYZERHxwgsvFN4foCWfge+nU6dOUVtb65+oAwq1hvNv8uTJsWPHjrjiiiuS70Pzp4ho5d5+++34p3/6pxgyZEhMmjQpvv71r8frr78ew4YNe9+frp0zZ05MmzYtLrroovjqV78azz33XJxwwgmxatWqnZnnn38+jj766HjhhRfi6quvjilTpkTbtm1jxIgRMX/+/A/d54knnog+ffrE9OnTPzS3Y8eO+O///u8YNGjQLl876qij4qWXXor169enPQnAHqulnoEATaG1nYErV66MiIj99tvv/3R/YM/SGs7AdevWxeuvvx7PPvtsnH/++fH222/H0KFDk+8P7Jla+vn3+9//Pm644YaYNGmSf46zlfFPM7VyHTp0iOXLl8dee+2187axY8dG796947vf/W7Mnj37Pflly5ZFfX19HHjggRERccopp8TgwYNj0qRJcdNNN0VExKWXXhrdunWLJ598MqqrqyMi4sILL4xjjz02rrrqqp0/rdYYb7zxRmzZsiUOOOCAXb72p9teffXV6NWrV6MfC2i9WuoZCNAUWtsZOGnSpKioqIiRI0dmewyg9WgNZ+DRRx8dS5cujYiIurq6uOaaa+K8885r0scAWp+Wfv6NHz8+BgwYEGeeeWaTzaR5cEVEK1dRUbHz4NmxY0e88cYbsW3bthg0aFA888wzu+RHjBix8+CJ+OPVB4MHD44FCxZExB8LgoULF8aoUaNi/fr1sWbNmlizZk2sXbs2hg0bFvX19fHKK6984D5DhgyJhoaG+PrXv/6he2/atCkiYufh9pdqamrekwH4IC31DARoCq3pDPyXf/mXmD17dowfPz4OPfTQj3x/YM/TGs7A733ve/Hggw/GbbfdFn369IlNmzbF9u3bk+8P7Jla8vn38MMPx49//OOYOnXqR/tD0yK4ImIP8M///M8xZcqUWLJkSWzdunXn7d27d98l+35v7A477LCdv5Nh2bJl0dDQENdee21ce+217/t4q1evfs8B9n/xp0uvtmzZssvXNm/e/J4MwIdpiWcgQFNpDWfgo48+Guedd14MGzYsrr/++iadDbRuLf0M/Ku/+qud///MM8+MPn36RETEjTfe2GSPAbROLfH827ZtW1xyySXxhS984T2/L5bWQxHRyn3/+9+PMWPGxIgRI+IrX/lKdOrUKSoqKuLb3/52vPTSSx953o4dOyIi4oorrohhw4a9b+ZjH/tYo3aO+OMvaa2uro7XXnttl6/96bYuXbo0+nGA1q2lnoEATaE1nIG/+c1v4vTTT49+/frFvffeG5WV3r4AaVrDGfiXOnToECeccELcc889igjgQ7XU82/OnDmxdOnSmDlzZixfvvw9X1u/fn0sX748OnXqFLW1tY1+LErDK/lW7t57740ePXrEvHnzoqysbOft11133fvm6+vrd7ntxRdfjEMOOSQiInr06BEREVVVVXHiiSc2/cL/X3l5efTv3z+eeuqpXb72+OOPR48ePaJdu3bZHh9oHVrqGQjQFFr6GfjSSy/FKaecEp06dYoFCxZEXV1d9scEWo+Wfga+n02bNsVbb71VkscGWo6Wev79/ve/j61bt8Zf//Vf7/K1OXPmxJw5c2L+/PkxYsSIbDuQl98R0cpVVFRERERDQ8PO2x5//PFYvHjx++bvu+++9/y7bk888UQ8/vjj8ZnPfCYiIjp16hRDhgyJmTNnvu/VCq+//vqH7rNx48ZYsmRJrFmzpnD3kSNHxpNPPvmeMmLp0qWxcOHC+NznPld4f4CWfAYCNFZLPgNXrlwZJ598cpSXl8fPfvaz2H///QvvA/CXWvIZuHr16l1uW758eTz00EMxaNCgwvsDe7aWev6deeaZMX/+/F3+FxFx6qmnxvz582Pw4MEfOoPmzRURrcCdd94ZDz744C63X3rppXHaaafFvHnz4owzzojhw4fH7373u5gxY0b07ds3NmzYsMt9Pvaxj8Wxxx4bF1xwQWzZsiWmTp0a++67b1x55ZU7M7feemsce+yx0b9//xg7dmz06NEjVq1aFYsXL47/+Z//id/85jcfuOsTTzwRxx9/fFx33XWFv6TmwgsvjFmzZsXw4cPjiiuuiKqqqrjpppuic+fOMX78+PQnCGjVWusZ+NZbb8V3v/vdiIj4r//6r4iImD59euyzzz6xzz77xLhx41KeHqCVa61n4CmnnBIvv/xyXHnllfHLX/4yfvnLX+78WufOneOkk05KeHaA1q61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AACAbBQRAAAAAABANooIAAAAAAAgm8pSL9BYZ555ZlJu2LBhhZl99tmnkdu0DL169SrM3HbbbUmzRo0alZS76667CjMTJkxImlVZuXv/2h500EFJuRtvvDHzJpDXiBEjknJ33HFHUu6+++4rzBxxxBFJs/YEFRUVSbnq6urMm0Drsm7dusLMa6+9ln8RPtCKFSuSctu2bSvMbNiwobHrALvBL37xi6TclClTCjM///nPk2alvIbq27dv0qyUvSIiBg8eXJhZuHBh0qwFCxYUZlL3SvneOGnSpKRZ69evT8pBS5fyOiQiYvLkyYWZZ555JmnW9OnTCzNt27ZNmjV27NjCzMiRI5NmrV27Nik3ceLEwkzqGX799dcXZvr37580q6ysLClH03NFBAAAAAAAkI0iAgAAAAAAyEYRAQAAAAAAZKOIAAAAAAAAslFEAAAAAAAA2SgiAAAAAACAbBQRAAAAAABANooIAAAAAAAgm8pSL9BYnTt3btIcf9S7d++k3FlnnZWUu/vuuwsz5513XtKsgw8+OCkHfDR9+/ZNyg0aNCgp95//+Z+FmYsuuihpljMc+L+6//77CzNXXXXVbtiED/Luu+8m5dauXVuYue+++5JmfepTn0rKAXls2LAhKffyyy8XZjZu3Jg0a9iwYYWZ+vr6pFlTpkxJyt16662FmdmzZyfNSjm3Ro8enTTroYceKsyUlZUlzYI9xfbt25NyL774YmFmyJAhSbM+97nPFWaefPLJpFkpUs7JiIiTTjopKZfymcDEiROTZn3+858vzMyZMydp1ic/+cnCjDMwD1dEAAAAAAAA2SgiAAAAAACAbBQRAAAAAABANooIAAAAAAAgG0UEAAAAAACQjSICAAAAAADIRhEBAAAAAABko4gAAAAAAACyUUQAAAAAAADZVJZ6AZqnsrKypNypp56alJs1a1Zh5uc//3nSrPPOOy8pB3w0NTU1SbkxY8Yk5VL+W73rrruSZn3lK18pzJSXN99uvaGhodQrwB7r05/+dGFm5syZu2ETPsi6deuScldeeWVhplu3bkmzUl/rAnkMGzYsKbdmzZrCzNVXX5006/rrry/MPPbYY0mzUh8z5fvL008/nTRr2rRphZna2tqkWUBpPf/880m573znO4WZ3/72t0mzUt7v9+nTJ2lWdXV1Um748OGFmUMOOSRp1he+8IXCzMUXX5w0a86cOYWZHj16JM3io2m+n9oAAAAAAAAtniICAAAAAADIRhEBAAAAAABko4gAAAAAAACyUUQAAAAAAADZKCIAAAAAAIBsFBEAAAAAAEA2iggAAAAAACCbylIvQMvWu3fvpNyAAQMKMw888EDSrLPPPrswU11dnTQL+OhOPfXUpNxnP/vZwszUqVOTZg0ePLgwc9xxxyXNKisrK8y8++67SbN+97vfJeXuv//+wsz69euTZi1fvrww07dv36RZsCfo1q1bk2TIZ9WqVUm5tm3bFmZqamoauw6wG5SXp/1M5KuvvlqYqaqqSpqVcoakvs6dPn16Uu6b3/xmYWbgwIFJs0444YSkHJBH6llz2mmnFWZmzZqVNOsHP/hBYSbl/W1ExJe+9KXCTFO/Jk7ZrV+/fkmzbrrppsLMOeeckzQr5fm/9tprk2bV1tYm5fgjV0QAAAAAAADZKCIAAAAAAIBsFBEAAAAAAEA2iggAAAAAACAbRQQAAAAAAJCNIgIAAAAAAMhGEQEAAAAAAGSjiAAAAAAAALJRRAAAAAAAANlUlnoBWraampqk3KGHHlqYeeyxx5Jmbd26tTBTXV2dNAv46Gpra5NyV199dWFmyZIlSbPGjh1bmLnwwguTZq1cubIw88ILLyTNevrpp5Nyr776amFm//33T5pVXu5nCACAli3l9VhExD333FOYGTFiRNKsTp06FWZS30fecsstSbm77767MHP++ecnzdpvv/2ScsCfpXx+tGXLliZ9zM9//vOFmdRza8eOHY3c5s/q6uoKM6nPRVM/ZykGDhxYmLn44ouTZn3rW98qzHTu3Dlp1iWXXJKU8z7+jzwLAAAAAABANooIAAAAAAAgG0UEAAAAAACQjSICAAAAAADIRhEBAAAAAABko4gAAAAAAACyUUQAAAAAAADZKCIAAAAAAIBsFBEAAAAAAEA2laVeoDnZsWNHUm79+vVJuaeffrowc9hhhyXN6tq1a1IOoLno169fYeauu+5KmjVp0qTCzC233JI0q0OHDoWZnj17Js0aP358Um7WrFmFmUMOOSRp1pAhQ5JyAADN1SOPPJKUW7VqVWHmrLPOSppVU1OTlEvx6U9/Oil37LHHFmbKy/18KOTy7//+74WZlPeatAwbN25MyqV8rjt79uykWaNHj07KHXDAAUm51s53PAAAAAAAIBtFBAAAAAAAkI0iAgAAAAAAyEYRAQAAAAAAZKOIAAAAAAAAslFEAAAAAAAA2SgiAAAAAACAbBQRAAAAAABANpWlXqA5uf/++5Ny06ZNS8o9++yzhZlJkyYlzRozZkxSrrlq3759Yebdd99NmpWaA5q/fv36JeVmzZpVmFm9enXSrNra2sJMypkVEbFly5ak3I9+9KPCTJ8+fZJm1dTUJOUAAEphw4YNhZk777wzaVbfvn0LM7169UqaNXfu3MJM6uusz372s0m58nI/+wml1Llz58LMMcccsxs2oTk58cQTCzMpf3ci0j5f4M98VwQAAAAAALJRRAAAAAAAANkoIgAAAAAAgGwUEQAAAAAAQDaKCAAAAAAAIBtFBAAAAAAAkI0iAgAAAAAAyEYRAQAAAAAAZKOIAAAAAAAAsqks9QK7y6ZNmwozM2bMSJr10EMPJeXq6uoKMz/+8Y+TZh1++OGFmSOPPDJpVin069evMHPHHXckzVq9enVhpmPHjkmzmtIvfvGLpNzbb79dmBk+fHjSrLKysqQctHQ1NTWFmW7duu2GTd5ry5YtTTarvNzPBgAALd/y5csLM88991zSrAkTJhRm2rZtmzRr7ty5hZkVK1YkzTr++OOTcu3atUvKAXkMHjy4STJA0/CpBwAAAAAAkI0iAgAAAAAAyEYRAQAAAAAAZKOIAAAAAAAAslFEAAAAAAAA2SgiAAAAAACAbBQRAAAAAABANooIAAAAAAAgm8pSL7C77LXXXoWZUaNGJc36wx/+kJRbvnx5YeaRRx5JmrV06dLCzJFHHpk0qxQ6duxYmNm2bVvSrF/96leFmZ49eybNqqqqKsxs2LAhadYNN9yQlEt5Lk499dSkWWVlZUk5AACA3WHhwoWFmerq6qRZw4YNK8ykvNePiPjEJz5RmEl53x0RsX379qRcU2poaCjMbN68OWlWKfYHAFdEAAAAAAAA2SgiAAAAAACAbBQRAAAAAABANooIAAAAAAAgG0UEAAAAAACQjSICAAAAAADIRhEBAAAAAABko4gAAAAAAACyUUQAAAAAAADZVJZ6gd2loqKiMHPOOeckzRo6dGhSbsWKFUm5FIcffniTzSqFI444ojBz+umnJ82aMGFCYeaRRx5JmtWpU6fCzNq1a5NmPf3000m5qVOnFmbKy3WEAABAy/POO+8UZurq6pJmdejQobHr7FRZ2bI//kh5Xr/85S8nzUp9/gGgKfm0EwAAAAAAyEYRAQAAAAAAZKOIAAAAAAAAslFEAAAAAAAA2SgiAAAAAACAbBQRAAAAAABANooIAAAAAAAgG0UEAAAAAACQTWWpF2hOysvTepmDDjqoSXN7gtra2sLMNddckzSre/fuhZmHH344adayZcsKM6l/L84555yk3Mknn5yUAwDYE6S+1tpvv/0KMymvOVNVVqa9Vaqurk7KVVRUNGYdoJEaGhpKvUKjbNu2rTCzePHipFl77713Y9cBgI/MFREAAAAAAEA2iggAAAAAACAbRQQAAAAAAJCNIgIAAAAAAMhGEQEAAAAAAGSjiAAAAAAAALJRRAAAAAAAANkoIgAAAAAAgGwUEQAAAAAAQDaVpV4A/qRLly5JuSuuuKIwM27cuKRZ27dvT8qlqKmpScpVVvrPDgDgTzp06JCUu+eeewozHTt2bOw6O/Xr1y8pN3v27KRcz549G7MOtCqbN29Oym3cuLEws2HDhqRZixYtKsykvifda6+9knLN1Y4dO0q9AgB7IFdEAAAAAAAA2SgiAAAAAACAbBQRAAAAAABANooIAAAAAAAgG0UEAAAAAACQjSICAAAAAADIRhEBAAAAAABko4gAAAAAAACyUUQAAAAAAADZVJZ6AfioysrKCjNt2rTZDZsAANBYlZVpb0l69OiReZP32nvvvZNyJ554YuZNoGU58sgjCzO33npr0qxzzz23MLNhw4akWWvWrCnM3HnnnUmzamtrk3LN1YsvvliYSf0zVlVVNXYdAPYQrogAAAAAAACyUUQAAAAAAADZKCIAAAAAAIBsFBEAAAAAAEA2iggAAAAAACAbRQQAAAAAAJCNIgIAAAAAAMhGEQEAAAAAAGRTWeoFAKClWrduXVJuzZo1hZmamppGbgMAUHrHH398YWbatGlJs+68887CTF1dXdKsb3/724WZY489NmlWc1VenvazpimvYa+66qqkWYccckhSDgBcEQEAAAAAAGSjiAAAAAAAALJRRAAAAAAAANkoIgAAAAAAgGwUEQAAAAAAQDaKCAAAAAAAIBtFBAAAAAAAkI0iAgAAAAAAyEYRAQAAAAAAZFNZ6gUAoKVatmxZUm7NmjWFmYEDBzZ2HQCAkquoqCjMnHHGGUmzTjvttMaus1NVVVVhpqysrMker6m1bdu2MDN06NCkWUOGDCnMfPGLX0yalfK8AkCEKyIAAAAAAICMFBEAAAAAAEA2iggAAAAAACAbRQQAAAAAAJCNIgIAAAAAAMhGEQEAAAAAAGSjiAAAAAAAALJRRAAAAAAAANlUlnoBAGipVq1alZSrq6srzBx++OGNXQcAoEUoKytLyu21116ZN2k5qqqqCjP/+I//mDSrsrL4o6CampqkWQCQyhURAAAAAABANooIAAAAAAAgG0UEAAAAAACQjSICAAAAAADIRhEBAAAAAABko4gAAAAAAACyUUQAAAAAAADZKCIAAAAAAIBsFBEAAAAAAEA2ZQ0NDQ2lXgIAWqLXXnstKffUU08VZk466aSkWTU1NUk5AAAAgObCFREAAAAAAEA2iggAAAAAACAbRQQAAAAAAJCNIgIAAAAAAMhGEQEAAAAAAGSjiAAAAAAAALJRRAAAAAAAANkoIgAAAAAAgGzKGhoaGkq9BAAAAAAA0Dq5IgIAAAAAAMhGEQEAAAAAAGSjiAAAAAAAALJRRAAAAAAAANkoIgAAAAAAgGwUEQAAAAAAQDaKCAAAAAAAIBtFBAAAAAAAkI0iAgAAAAAAyEYRAQAAAAAAZKOIAAAAAAAAslFEAAAAAAAA2SgiAAAAAACAbBQRAAAAAABANooIAAAAAAAgG0UEAAAAAACQjSICAAAAAADIRhEBAAAAAABko4gAAAAAAACy+X/fpczKGKtwxAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 2000x2000 with 15 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy: 0.9000000357627869\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "model = ProtoNet()\n",
    "model.load_state_dict(torch.load('protonet_omniglot.pth'))\n",
    "model = model.to(device)\n",
    "data, labels = next(iter(val_loader))\n",
    "n_way = len(data)\n",
    "n_support = 5\n",
    "n_query = 2\n",
    "\n",
    "support_samples = []\n",
    "support_labels = []\n",
    "query_samples = []\n",
    "query_labels = []\n",
    "\n",
    "for class_idx, (class_data, label) in enumerate(zip(data, labels)):\n",
    "    perm = torch.randperm(len(class_data))\n",
    "    support_idx = perm[:n_support]\n",
    "    query_idx = perm[n_support:n_support + n_query]\n",
    "\n",
    "    support_samples.append(class_data[support_idx])\n",
    "    support_labels.extend([class_idx] * n_support)\n",
    "    query_samples.append(class_data[query_idx])\n",
    "    query_labels.extend([class_idx] * n_query)\n",
    "\n",
    "support_samples = torch.cat(support_samples).to(device)\n",
    "support_labels = torch.tensor(support_labels).to(device)\n",
    "query_samples = torch.cat(query_samples).to(device)\n",
    "query_labels = torch.tensor(query_labels).to(device)\n",
    "\n",
    "support_features = model(support_samples)\n",
    "query_features = model(query_samples)\n",
    "\n",
    "prototypes = torch.stack([\n",
    "    support_features[support_labels == label].mean(0)\n",
    "    for label in range(n_way)\n",
    "])\n",
    "\n",
    "dists = euclidean_distance(query_features, prototypes)\n",
    "_, preds = torch.min(dists, 1)\n",
    "\n",
    "# 可视化支持集\n",
    "fig, axs = plt.subplots(n_support + 1, n_way, figsize=(20, 20))\n",
    "\n",
    "for i in range(n_way):\n",
    "    for j in range(n_support + 1):\n",
    "        if j == 0:\n",
    "            img = support_samples[i * n_support].cpu().numpy().squeeze()\n",
    "            label = support_labels[i * n_support].item()\n",
    "        else:\n",
    "            img = support_samples[i * n_support + j - 1].cpu().numpy().squeeze()\n",
    "            label = support_labels[i * n_support + j - 1].item()\n",
    "        axs[j, i].imshow(img, cmap='gray')\n",
    "        axs[j, i].set_title(f'Label: {label}')\n",
    "        axs[j, i].axis('off')\n",
    "plt.show()\n",
    "\n",
    "# 可视化查询集样本\n",
    "fig, axs = plt.subplots(n_query + 1, n_way, figsize=(20, 20))\n",
    "\n",
    "for i in range(n_way):\n",
    "    for j in range(n_query + 1):\n",
    "        if j == 0:\n",
    "            img = support_samples[i * n_support].cpu().numpy().squeeze()\n",
    "            label = support_labels[i * n_support].item()\n",
    "        else:\n",
    "            img = query_samples[i * n_query + j - 1].cpu().numpy().squeeze()  \n",
    "            label = preds[i * n_query + j - 1].item()\n",
    "        axs[j, i].imshow(img, cmap='gray')\n",
    "        axs[j, i].set_title(f'Label: {label}')\n",
    "        axs[j, i].axis('off')\n",
    "plt.show()\n",
    "\n",
    "# 计算准确率\n",
    "acc = (preds == query_labels).float().mean()\n",
    "print(f\"Accuracy: {acc.item()}\")\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "zhycam",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.20"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
